Șabloane UTM
Planificat, încă indisponibil; vezi roadmap-ul. Șabloanele UTM la nivel de workspace, substituția
{{ placeholder }}și endpoint-ul/utm-templatedescrise mai jos nu există astăzi în API. Ce funcționează acum: o campanie stochează câmpuri simpleutm_source,utm_medium,utm_campaign,utm_contentșiutm_term(vezi Campanii & A/B), generatorul UTM din dashboard etichetează un URL de destinație pe partea de client, iar?utm_*deja prezent într-un URL de destinație este păstrat. Restul acestei pagini este designul către care construim.
Un șablon UTM (planificat) este un set denumit de valori implicite utm_* atașat unui
workspace sau unei singure campanii. Fiecare link creat în acel domeniu
moștenește variabilele șablonului; suprascrierile per link sunt permise și
se înregistrează în jurnalul de audit. Variabilele șablonului se rezolvă la crearea link-ului, nu în
momentul click-ului, deci ce ajunge în instrumentul tău de analytics este mereu ce a
fost intenționat.
Fluxul este:
- Definește un șablon de workspace (valorile tale implicite rezonabile).
- Opțional, adaugă deasupra un șablon de campanie (suprascrieri + extra).
- Creează link-uri - Elido completează șirul de query
utm_*înainte ca link-ul scurt să fie publicat. - Suprascrie per link când realitatea o cere; diferența este înregistrată în jurnalul de audit.
1. Definește șablonul de workspace
curl -X PUT \
https://api.elido.app/v1/workspaces/1/utm-template \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"utm_source": "{{ channel }}",
"utm_medium": "{{ medium }}",
"utm_campaign": "{{ campaign }}",
"utm_content": "{{ creative }}",
"utm_term": "{{ audience.segment }}"
}'O valoare literală ("utm_medium": "email") este fixă pentru fiecare link.
Un placeholder ({{ … }}) se completează din payload-ul de creare a link-ului
sau din coloana cu același nume de la importul în masă.
Placeholder-ele necunoscute eșuează imediat - API-ul returnează 422 cu
numele variabilei nerezolvate.
2. Adaugă un șablon de campanie
Șabloanele de campanie moștenesc din șablonul de workspace și pot înlocui orice subset de variabile. Util când campaniile unei echipe urmează o convenție de denumire diferită față de restul organizației.
curl -X POST \
https://api.elido.app/v1/campaigns \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-d '{
"name": "Spring 2026 - DACH",
"utm_template": {
"utm_campaign": "spring_2026_dach",
"utm_term": "{{ audience.locale }}"
}
}'Tot ce nu este setat pe campanie cade pe valorile implicite ale workspace-ului.
3. Variabile
| Placeholder | Sursă | Note |
|---|---|---|
{{ channel }} | câmpul channel la POST /v1/links | Obligatoriu când este folosit |
{{ medium }} | câmpul medium la POST /v1/links | - |
{{ campaign }} | câmpul campaign sau numele campaniei | Revine la campanie |
{{ creative }} | câmpul creative sau coloana CSV creative | - |
{{ audience.segment }} | ID de segment Klaviyo / Mailchimp | Opțional |
{{ audience.locale }} | Etichetă de limbă în stil browser, de ex. de-DE | - |
{{ link.tag.<name> }} | Valoarea etichetei per link | De ex. {{ link.tag.team }} |
Cheile personalizate ({{ link.tag.* }}) citesc orice setezi în array-ul
tags al link-ului - convenabil pentru agenții multi-tenant care trebuie să
includă un identificator de client în fiecare URL.
4. Aplică la importul în masă
Șabloanele se aplică automat la importurile în masă. Numele coloanelor CSV trebuie să se potrivească cu numele placeholder-elor (fără distincție între majuscule și minuscule); coloanele pe care Elido nu le recunoaște sunt ignorate cu un avertisment, în loc să fie copiate în tăcere.
destination_url,channel,medium,creative
https://shop.example.com/de,newsletter,email,hero_a
https://shop.example.com/fr,newsletter,email,hero_a
https://shop.example.com/de,paid_social,meta,carousel_v2Trimite-l prin POST ca multipart/form-data:
curl -X POST \
https://api.elido.app/v1/links/bulk \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-F "csv=@launch_q2.csv" \
-F "campaign_id=cmp_8a2f"Astăzi rândurile din importul în masă sunt procesate independent: un rând greșit este raportat și nu le blochează pe celelalte (nu există un commit atomic de tip tot-sau-nimic și nici coloane UTM încă). Commit-ul atomic face parte din designul planificat.
5. Suprascrieri per link
Orice câmp utm_* la POST /v1/links suprascrie șablonul rezolvat
pentru acel singur link. Suprascrierea se înregistrează cu actorul,
marcajul de timp și diferența dintre rezolvat și final în jurnalul de audit, astfel încât
poți urmări divergența săptămâni mai târziu.
curl -X POST \
https://api.elido.app/v1/links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-d '{
"destination_url": "https://shop.example.com/de/launch",
"campaign_id": "cmp_8a2f",
"utm_content": "hero_a_OVERRIDE_for_test"
}'În dashboard, câmpurile suprascrise apar cu un mic marcaj ⤴ iar valoarea originală a șablonului este în tooltip.
6. Cazuri limită
?utm_*existent în URL-ul destinației - se păstrează. Elido nu suprascrie niciodată parametrii pe care i-ai pus tu în destinație. Șablonul completează doar câmpurile lipsă.- Campanii recurente - clonează o campanie și incrementează
sufixul lui
utm_campaign. Link-urile vechi își păstrează UTM-ul original, link-urile noi primesc valoarea nouă. - Migrări de la alte servicii de scurtare - endpoint-ul
bulkacceptă URL-uri pre-etichetate ca atare; șablonul se aplică doar coloanelor pe care CSV-ul nu le furnizează deja.
Vezi și
- Campanii & A/B - grupează șabloane cu rotația variantelor
- Urmărirea conversiilor - închide bucla dintre click și venit
- Redirecționarea conversiilor - ecou server-side CAPI / GA4 / Mixpanel pentru aceleași UTM-uri