Campagnes & A/B
Een campagne is een benoemde verzameling links die een set UTM-standaarden, een
optioneel datumvenster en één regel in je analytics opslaat. A/B wordt
per link ingesteld via variants[] en staat los van het
campagnesysteem - je kunt het een, beide of geen van beide gebruiken.
Een campagne aanmaken
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"
}'Namen zijn uniek per workspace. De volledige UTM-set (utm_source,
utm_medium, utm_campaign, utm_term, utm_content) is optioneel
en wordt op de campagne opgeslagen voor rapportage en je eigen tagging.
Automatische overerving van deze velden in de bestemmings-URL’s van
toegewezen links is gepland en nog niet beschikbaar (zie UTM-
sjablonen); tot die tijd tag je bestemmings-URL’s
zelf of met de UTM-builder van het dashboard.
Links toewijzen
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] }'Maximaal 100 link-ID’s per aanroep. Een link hoort bij hooguit een campagne;
opnieuw toewijzen verplaatst hem. campaign_id instellen op een link via
PATCH /links/{id} werkt ook als je de campagnetoewijzing liever
in de link-payload houdt.
Verwijderen doe je met dezelfde vorm via 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] }'Een campagne verwijderen zet campaign_id op null bij de bijbehorende links - de links blijven bestaan.
Endpoints
| Methode | Pad |
|---|---|
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 (toewijzen) |
DELETE | /v1/workspaces/{ws}/campaigns/{id}/links (toewijzing opheffen) |
A/B-testen met varianten
Een link kan een willekeurig aantal variants[] hebben. Elke variant heeft een
bestemming, een gewicht en een optioneel label. De edge kiest er een
per verzoek:
{
"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 bepaalt de strategie:
| Waarde | Gedrag |
|---|---|
weighted (standaard) | Willekeurige keuze per verzoek, evenredig met weight |
round_robin | Atomaire Redis-teller doorloopt variants[counter % N] |
Round-robin is van belang als je creatives met weinig volume A/B-test - gewogen willekeur kan bij kleine steekproeven ruisige verdelingen geven.
Varianten staan los van targeting_rules (zie Smart
links). Als beide zijn ingesteld, worden smart links
eerst afgehandeld - een overeenkomende regel vervangt de variantrotatie volledig.
In het dashboard
- Campagnes op
/dashboard/campaigns- aanmaken, bewerken, archiveren, links in bulk toewijzen. - Varianten per link op
/dashboard/links/{id}- voeg varianten inline toe; gewichtsschuiven normaliseren automatisch naar 100.