Кампанії та A/B
Кампанія - це іменований набір посилань, що мають спільний шаблон UTM, необов’язкове часове вікно та єдиний рядок у вашій аналітиці. A/B налаштовується для кожного посилання окремо через variants[] і не залежить від системи кампаній - ви можете використовувати щось одне, обидва варіанти або жодного.
Створення кампанії
curl -X POST \
https://api.elido.app/v1/workspaces/1/campaigns \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Запуск весна 2026",
"description": "Координована кампанія через email та платну рекламу",
"utm_source": "spring2026",
"utm_medium": "email",
"utm_campaign": "launch",
"start_date": "2026-05-01",
"end_date": "2026-05-31"
}'Назви є унікальними для кожного робочого простору. Повний набір UTM (utm_source, utm_medium, utm_campaign, utm_term, utm_content) є необов’язковим і діє як шаблон - посилання, призначені для кампанії, успадковують будь-які параметри UTM, які вони не перевизначають самі.
Призначення посилань
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] }'До 100 ID посилань за один виклик. Посилання може належати щонайбільше до однієї кампанії; перепризначення переміщує його. Встановлення campaign_id для посилання через PATCH /links/{id} також працює, якщо ви бажаєте зберігати призначення кампанії в корисному навантаженні (payload) посилання.
Видалення виконується за тією ж схемою за допомогою 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] }'Видалення кампанії обнуляє campaign_id у її посиланнях - самі посилання зберігаються.
Ендпоінти
| Метод | Шлях |
|---|---|
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 (призначити) |
DELETE | /v1/workspaces/{ws}/campaigns/{id}/links (скасувати призначення) |
A/B-тестування з варіантами
Посилання може мати будь-яку кількість variants[]. Кожен варіант має цільову URL-адресу, вагу та необов’язкову мітку. Edge-сервер обирає один варіант для кожного запиту:
{
"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 керує стратегією:
| Значення | Поведінка |
|---|---|
weighted (за замовчуванням) | Випадковий вибір для кожного запиту пропорційно до weight |
round_robin | Атомарний лічильник Redis циклічно перебирає variants[counter % N] |
Round-robin важливий, коли ви проводите A/B-тестування креативів із низьким обсягом трафіку - зважений випадковий вибір (weighted random) може давати неточні результати при малих вибірках.
Варіанти не залежать від targeting_rules (див. Розумні посилання). Коли встановлено обидва параметри, спочатку обробляються розумні посилання - правило, що збіглося, повністю замінює ротацію варіантів.
У панелі керування
- Кампанії за адресою
/dashboard/campaigns- створення, редагування, архівування, масове призначення посилань. - Варіанти для кожного посилання за адресою
/dashboard/links/{id}- додавання варіантів безпосередньо в інтерфейсі; повзунки ваги автоматично нормалізуються до 100.