Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →
GhiduriUTM templates

Șabloane UTM

Planificat, încă indisponibil; vezi roadmap-ul. Șabloanele UTM la nivel de workspace, substituția {{ placeholder }} și endpoint-ul /utm-template descrise mai jos nu există astăzi în API. Ce funcționează acum: o campanie stochează câmpuri simple utm_source, utm_medium, utm_campaign, utm_content și utm_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:

  1. Definește un șablon de workspace (valorile tale implicite rezonabile).
  2. Opțional, adaugă deasupra un șablon de campanie (suprascrieri + extra).
  3. Creează link-uri - Elido completează șirul de query utm_* înainte ca link-ul scurt să fie publicat.
  4. 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

PlaceholderSursăNote
{{ channel }}câmpul channel la POST /v1/linksObligatoriu când este folosit
{{ medium }}câmpul medium la POST /v1/links-
{{ campaign }}câmpul campaign sau numele campanieiRevine la campanie
{{ creative }}câmpul creative sau coloana CSV creative-
{{ audience.segment }}ID de segment Klaviyo / MailchimpOpțional
{{ audience.locale }}Etichetă de limbă în stil browser, de ex. de-DE-
{{ link.tag.<name> }}Valoarea etichetei per linkDe 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_v2

Trimite-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.

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 bulk acceptă URL-uri pre-etichetate ca atare; șablonul se aplică doar coloanelor pe care CSV-ul nu le furnizează deja.

Vezi și