Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →
GhiduriCampaigns & A/B

Campanii & A/B

O campanie este un grup denumit de link-uri care păstrează un set de valori UTM implicite, o fereastră de date opțională și o singură linie în analytics. A/B se configurează per link prin variants[] și este independent de sistemul de campanii - le poți folosi pe oricare, pe ambele sau pe niciuna.

Creează o campanie

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" }'

Numele sunt unice per workspace. Setul complet UTM (utm_source, utm_medium, utm_campaign, utm_term, utm_content) este opțional și se păstrează pe campanie pentru raportare și pentru etichetarea ta. Moștenirea automată a acestor câmpuri în URL-urile de destinație ale link-urilor atribuite este planificată și încă nu este disponibilă (vezi șabloanele UTM); până atunci, etichetează singur URL-urile de destinație sau cu generatorul UTM din dashboard.

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] }'

Până la 100 de ID-uri de link per apel. Un link aparține cel mult unei campanii; reatribuirea îl mută. Setarea campaign_id pe un link prin PATCH /links/{id} funcționează și ea, dacă preferi să ții atribuirea la campanie în payload-ul link-ului.

Elimină cu aceeași formă, folosind DELETE:

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] }'

Ștergerea unei campanii setează campaign_id pe null la link-urile ei - link-urile rămân.

Endpoints

MetodăCale
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 (atribuire)
DELETE/v1/workspaces/{ws}/campaigns/{id}/links (eliminare atribuire)

Testare A/B cu variante

Un link poate avea oricâte variants[]. Fiecare variantă are o destinație, o pondere și o etichetă opțională. Edge-ul alege una pe fiecare cerere:

{ "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 controlează strategia:

ValoareComportament
weighted (implicit)Alegere aleatorie per cerere, proporțională cu weight
round_robinUn contor Redis atomic parcurge variants[counter % N]

Round-robin contează când testezi A/B materiale cu volum mic - alegerea aleatorie ponderată poate produce împărțiri zgomotoase la eșantioane mici.

Variantele sunt independente de targeting_rules (vezi Smart links). Când sunt setate ambele, smart link-urile se rezolvă primele - o regulă potrivită înlocuiește complet rotația variantelor.

În dashboard

  • Campanii la /dashboard/campaigns - creare, editare, arhivare, atribuire în masă de link-uri.
  • Variante per link la /dashboard/links/{id} - adaugă variante inline; cursoarele de pondere se normalizează automat la 100.