Kampanyalar ve A/B
Kampanya; bir dizi UTM varsayılanını, isteğe bağlı bir tarih aralığını ve analitiğinizde tek bir satırı saklayan, adlandırılmış bir bağlantı kümesidir. A/B, bağlantı başına variants[] ile yapılandırılır ve kampanya sisteminden bağımsızdır: birini, ikisini ya da hiçbirini kullanabilirsiniz.
Kampanya oluşturma
curl -X POST \
https://api.elido.app/v1/workspaces/1/campaigns \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring 2026 launch",
"description": "Coordinated push across email and paid",
"utm_source": "spring2026",
"utm_medium": "email",
"utm_campaign": "launch",
"start_date": "2026-05-01",
"end_date": "2026-05-31"
}'Adlar çalışma alanı başına benzersizdir. Tam UTM kümesi (utm_source, utm_medium, utm_campaign, utm_term, utm_content) isteğe bağlıdır ve raporlama ile kendi etiketlemeniz için kampanyada saklanır. Bu alanların atanan bağlantıların hedef URL’lerine otomatik devralınması planlanmıştır, henüz kullanılamaz (UTM şablonlarına bakın); o zamana kadar hedef URL’leri kendiniz veya pano UTM oluşturucusuyla etiketleyin.
Bağlantı atama
curl -X POST \
https://api.elido.app/v1/workspaces/1/campaigns/7/links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "link_ids": [42, 43, 44] }'Çağrı başına en fazla 100 bağlantı kimliği. Bir bağlantı en fazla bir kampanyaya aittir; yeniden atamak onu taşır. Kampanya atamasını bağlantı yükünde tutmayı tercih ederseniz PATCH /links/{id} ile bir bağlantıya campaign_id ayarlamak da çalışır.
Aynı biçimle DELETE üzerinden kaldırın:
curl -X DELETE \
https://api.elido.app/v1/workspaces/1/campaigns/7/links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "link_ids": [42] }'Bir kampanyayı silmek, bağlantılarındaki campaign_id değerini null yapar; bağlantılar silinmez.
Uç noktalar
| Yöntem | Yol |
|---|---|
GET | /v1/workspaces/{ws}/campaigns |
POST | /v1/workspaces/{ws}/campaigns |
PATCH | /v1/workspaces/{ws}/campaigns/{id} |
DELETE | /v1/workspaces/{ws}/campaigns/{id} |
GET | /v1/workspaces/{ws}/campaigns/{id}/links |
POST | /v1/workspaces/{ws}/campaigns/{id}/links (atama) |
DELETE | /v1/workspaces/{ws}/campaigns/{id}/links (atamayı kaldırma) |
Varyantlarla A/B testi
Bir bağlantı herhangi sayıda variants[] içerebilir. Her varyantın bir hedefi, bir ağırlığı ve isteğe bağlı bir etiketi vardır. Edge her istekte birini seçer:
{
"destination_url": "https://example.com/control",
"rotation_mode": "weighted",
"variants": [
{ "destination_url": "https://example.com/a", "weight": 50, "label": "A" },
{ "destination_url": "https://example.com/b", "weight": 50, "label": "B" }
]
}rotation_mode stratejiyi belirler:
| Değer | Davranış |
|---|---|
weighted (varsayılan) | İstek başına weight ile orantılı rastgele seçim |
round_robin | Atomik bir Redis sayacı variants[counter % N] ile döner |
Düşük hacimli kreatifleri A/B test ederken round-robin önemlidir; ağırlıklı rastgele, küçük örneklem boyutlarında gürültülü dağılımlar üretebilir.
Varyantlar targeting_rules’tan bağımsızdır (Akıllı bağlantılar’a bakın). İkisi de ayarlıysa önce akıllı bağlantılar çözülür; eşleşen bir kural varyant döndürmeyi tamamen geçersiz kılar.
Panoda
/dashboard/campaignsaltında Campaigns: oluşturma, düzenleme, arşivleme, bağlantıları toplu atama./dashboard/links/{id}altında bağlantı başına varyantlar: varyantları satır içinde ekleyin; ağırlık kaydırıcıları otomatik olarak 100’e normalleşir.