13 Min. LesezeitTutorials
Eckpfeiler

So trackst du UTM-Kampagnen end-to-end ganz ohne CDP

Ein praktisches Playbook für Marketer: UTM-Vorlagen auf Workspace-Ebene, Bulk-Import aus Sheets, serverseitige Conversion-Weiterleitung und der QA-Trockenlauf, der Drift vor dem Launch abfängt

Ana Kowalska
Marketing solutions engineering
Fünfstufige UTM-Pipeline: Workspace-Vorlage, Kampagnen-Override, Bulk-Import, serverseitige Weiterleitung, GA4-DebugView-Verifizierung

Ich habe UTM-Tracking end-to-end bei drei Unternehmen aufgesetzt. Jedes Mal gingen dieselben fünf Dinge in derselben Reihenfolge kaputt, und jedes Mal war die Lösung dieselbe: das Templating auf die Kampagnenebene ziehen, die Conversion-Weiterleitung auf den Server schieben und dazwischen einen Trockenlauf setzen. Das ist das meiste, worum es in diesem Beitrag geht. Der Rest ist die QA-Checkliste, die die Dinge abfängt, an die man gar nicht dachte, dass sie kaputtgehen könnten.

Falls du noch nicht sicher bist, was jeder der fünf Tags tut: UTM-Parameter erklärt ist die Grundlage, auf der diese Pipeline aufbaut.

Dafür brauchst du keine Customer Data Platform. Irgendwann brauchst du eine, wenn dein Attributionsproblem zu "vier anonyme Touchpoints über drei Geräte hinweg zu einer Customer Journey zusammenfügen" wird, aber für den Fall, den ich am häufigsten sehe: "jeden ausgehenden Link konsistent taggen, den Klick erfassen, die Conversion serverseitig an Meta und GA4 weiterleiten und Safari überleben", reicht ein URL-Shortener mit Vorlagen plus einer Conversions-API. Im Folgenden die Version, die funktioniert, mit den Fehlermodi, die mir begegnet sind.

Was beim UTM-Tracking schiefgeht

Die Marketer, mit denen ich arbeite, sind nicht schlecht bei UTMs. Das Problem ist, dass die Tools standardmäßig das einmalige Eintippen einer UTM leicht machen, die organisationsweite Durchsetzung schwer und die Korrektur nach dem Launch unmöglich. Vier Fehlermodi tauchen immer wieder auf.

Drift. Eine Person tippt utm_source=newsletter, eine andere utm_source=Newsletter, eine dritte utm_source=email. Sechs Monate später ist dein Kanal "newsletter" in GA4 auf neun String-Varianten verteilt. Das im Nachhinein zu bereinigen ist eine Regex-und-Beten-Übung. Das ursprüngliche urchinTracker()-Script, das diese Konvention einführte, Googles Web-Analytics-Produkt Urchin von vor Analytics, 2003 kurzzeitig quelloffen, bevor es übernommen wurde, hatte ebenfalls keine Vorlagenebene. Die Konvention lautete immer "konsistent eintippen"; das Tooling hat das nie erzwungen.

Manuelles Taggen in großem Maßstab. Eine Flyer-Kampagne mit 80 Short-Links über vier Regionalstores hinweg sind 320 URLs, die du eintippen, in eine Tabelle einfügen, in deinen Shortener kopieren und dann hoffen musst. Bei der Hälfte landet der falsche utm_content. Niemand bemerkt es, bis die Kampagne zwei Wochen läuft.

Serverseitige Conversion-Lücken. Das Pixel feuert auf der Dankeseite, GA4 erfasst es, Meta erfasst es, und du gehst nach Hause. Dann liefert Safari eine weitere ITP-Version aus, die Werbeblocker-Installationen steigen, und deine gemeldeten Conversions fallen um ein Drittel. Apples ITP-2.3-Release-Notes gehen genau den Mechanismus durch: Link-Decoration wird gedrosselt, document.referrer wird entfernt, und jeder Analytics-Flow, der davon abhängt, dass der Browser Third-Party-JS ausführt, degradiert still. Die Conversions passieren weiterhin auf deinem Server. Sie kommen nur nicht mehr bei den Ad-Oberflächen an.

Kein Trockenlauf. Die erste Conversion, die durch die neue Pipeline fließt, ist die erste echte Kundin oder der erste echte Kunde. Ist etwas falsch konfiguriert, merkst du es drei Tage später, wenn der Optimierungsalgorithmus bereits Budget aus einer Kampagne abgezogen hat, die eigentlich funktioniert hat.

Dieser Beitrag adressiert die ersten drei mit Vorlagen plus Bulk-Import plus serverseitiger Weiterleitung, und das vierte mit einem Verifizierungsschritt, der leicht zu überspringen und teuer zu überspringen ist.

UTM-Vorlagen für Workspace und Kampagne

Vorlagen schieben das Konsistenzproblem im Stack nach oben. Du definierst deine Tagging-Konvention einmal auf Workspace-Ebene, legst Kampagnen-Overrides darüber, wo sie gerechtfertigt sind, und lässt jeden Link erben. Für einen Tippfehler bleibt kein Platz mehr.

Lege zuerst die Workspace-Standardwerte fest. Literale Werte fixieren die Variablen, die sich für deine Organisation nie ändern (utm_medium = email für Newsletter-Kampagnen); Platzhalter werden bei der Erstellung aus der Link-Payload gefüllt:

curl -X PUT \
  https://api.elido.app/v1/workspaces/1/utm-template \
  -H "Authorization: Bearer $ELIDO_TOKEN" \
  -d '{
    "utm_source":   "{{ channel }}",
    "utm_medium":   "{{ medium }}",
    "utm_campaign": "{{ campaign }}",
    "utm_content":  "{{ creative }}",
    "utm_term":     "{{ audience.segment }}"
  }'

Ein paar Details, die hier wichtig sind:

  • Die Platzhalter werden bei der Linkerstellung gefüllt, nicht beim Klick. Was in deinem Analytics-Tool ankommt, ist das, was im Moment der Linkerstellung beabsichtigt war, nicht das, was das Ziel des Links beim Klick berechnet hat. Das macht die Rekonstruktion aus dem Audit-Log viel einfacher, wenn sechs Monate später etwas falsch aussieht.
  • Unbekannte Platzhalter scheitern sofort. Fehlt deinem Bulk-Import eine creative-Spalte und die Workspace-Vorlage verweist auf {{ creative }}, gibt die API einen 422 mit dem Namen der nicht aufgelösten Variable zurück. Keine stille Teilanwendung.
  • Die vollständige Vorlagen-Referenz, einschließlich der link.tag.<name>-Platzhalter, die aus dem Tag-Array des Links lesen (nützlich für Multi-Tenant-Agenturen, die einen Kundenbezeichner in jede URL einbetten müssen), findest du in der Docs-Anleitung.

Lege dann eine Kampagnenvorlage darüber. Kampagnen erben vom Workspace und ersetzen die Teilmenge, die kampagnenspezifisch ist:

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

Alles, was auf der Kampagne nicht gesetzt ist, fällt auf die Workspace-Standardwerte zurück. Die zweistufige Schichtung deckt die meisten realen Organisationsstrukturen ab: gemeinsame Konventionen auf Workspace-Ebene, team- oder saisonspezifische Overrides auf Kampagnenebene. Wenn du dir eine dritte Vererbungsebene wünschst, ist das ein Warnsignal, meist bedeutet es, dass zwei Kampagnen eine Kampagne mit klügeren Platzhalterwerten sein sollten.

Kampagnenseite im Elido-Dashboard, vier Kampagnen mit ausgefüllten UTM-Standardwerten: Spring 2026 launch (newsletter / email), Newsletter weekly, Influencer DACH Q2 (creator / partner), Paid social Meta retargeting

Was Overrides pro Link aufgeben: Ein Override greift unabhängig von der Vorlage. Was sie behalten: Der Override wird im Audit-Log erfasst, mit Akteur plus Zeitstempel plus dem Diff zwischen aufgelöst und final. Wenn in sechs Monaten jemand fragt, warum ein Link in einer 200-Link-Kampagne utm_term=manual_override hat, kannst du antworten.

Bulk-Import aus Sheets: der Workflow, den die meisten Marketer tatsächlich nutzen

Marketer sitzen nicht den ganzen Tag in curl. Das Kampagnen-Briefing kommt als Tabelle mit Ziel-URLs und Kampagnen-Metadaten an, die Launch-Deadline ist Freitag, und die Frage ist, wie diese Tabelle zu 200 Short-Links wird, ohne dass jemand denselben UTM-String 200 Mal eintippt.

Die CSV-Spaltennamen entsprechen den Platzhalternamen aus deiner Vorlage (ohne Groß-/Kleinschreibung). Spalten, die Elido nicht erkennt, werden mit einer Warnung verworfen statt still kopiert, das ist Absicht. Stilles Kopieren ist der Grund, warum plötzlich utm_brand_color in GA4 auftaucht, weil jemand eine Spalte für eine interne Notiz hinzugefügt hat.

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
https://shop.example.com/fr,paid_social,meta,carousel_v2

Sende sie als Multipart per POST:

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"

Zwei Dinge, die dir dieser Validierungs-Flow bringt und die eine Ein-Link-nach-dem-anderen-UI nicht bietet:

  • Alles-oder-nichts-Commit. Eine einzelne fehlerhafte Zeile bricht den gesamten Upload ab und liefert die betreffenden Zeilennummern plus den Grund zurück, row 47: unresolved variable {{ creative }} ist eine viel bessere Fehlermeldung, als freitags um 16 Uhr zu entdecken, dass 47 deiner 200 Links zu einem Platzhalter-String aufgelöst wurden.
  • Vorschau vor dem Launch. Die Bulk-Import-Vorschauzeile im Dashboard zeigt vor dem Commit die aufgelöste URL, einschließlich des gerenderten utm_*-Query-Strings. Schau dir den zweiten Link an, um sicherzustellen, dass deine Vorlage das getan hat, was du erwartet hast, und dann den letzten Link, um sicherzustellen, dass die Zeilen weiter unten in der Datei nicht abgedriftet sind. Zwei Blicke, eine Minute.

Wenn deine Tabelle keine stabile Form hat, Spaltenreihenfolgen verschieben sich, Überschriften werden umbenannt, wird der Bulk-Import-Endpunkt unangenehm. Die Lösung liegt nicht in unserem Tooling; die Lösung ist, dich auf ein CSV-Schema für deine Kampagnen-Briefings festzulegen und Schema-Drift als Prozessfehler zu behandeln. Das breitere Muster besprechen wir auf der Marketer-Lösungsseite.

Serverseitige Conversion-Weiterleitung an Meta CAPI und GA4

Reine Pixel-Attribution verliert 20 bis 40 Prozent der Conversions an Safari ITP, Werbeblocker und Consent-Banner. Die Zahl variiert je nach Branche, DTC-E-Commerce liegt am oberen Ende der Spanne, B2B-SaaS am unteren, aber jede Messung, die ich seit iOS 14 gesehen habe, setzt die Pixel-Zuverlässigkeit deutlich unter die 95-Prozent-Marke, von der Ad-Plattformen ausgehen. Der Optimierungsalgorithmus bekommt verrauschtere Eingaben, und dein CPA sieht schlechter aus, als er ist.

Metas Conversions-API-Dokumentation ist darin eindeutig: Server-Events sind das, was du willst, das browserseitige Pixel ist die Ergänzung. GA4s Measurement Protocol argumentiert genauso. Beide Protokolle akzeptieren dieselbe Form: ein serverseitiges Event mit den Conversion-Details, eine event_id zur Deduplizierung und idealerweise gehashte Nutzeridentifikatoren, damit die Plattformen die Conversion einem bekannten Besucher zuordnen können.

Die Verdrahtung, die die Lücke schließt, ist mechanisch. Drei Schritte.

Schritt eins: die click_id erfassen. Jede Elido-Weiterleitungsantwort trägt einen X-Elido-Click-Id-Header. Die TS-/Python-/Go-SDKs legen ihn auf dem Redirect-Response-Objekt offen; rohes HTTP funktioniert auch:

curl -sI https://elido.me/launch | grep -i click-id
# X-Elido-Click-Id: clk_01HYZ7T8WV6KQX3M

Lege sie auf der Zielseite in einem First-Party-Cookie ab (elido_click_id, 90 Tage TTL, lang genug, um eine typische SaaS-Evaluierung abzudecken, kurz genug, um den ePrivacy-Vorgaben zu genügen). Lies sie an der Kasse wieder aus.

Schritt zwei: die Ziele verdrahten. Sende per PUT die Zugangsdaten für die Oberflächen, an die du weiterleiten willst. Jede Teilmenge funktioniert; fehlende Oberflächen werden still übersprungen:

curl -X PUT \
  https://api.elido.app/v1/workspaces/1/conversion-forwarding \
  -H "Authorization: Bearer $ELIDO_TOKEN" \
  -d '{
    "meta_capi": {
      "pixel_id": "1234567890",
      "access_token": "EAA…",
      "test_event_code": null
    },
    "ga4_mp": {
      "measurement_id": "G-ABC123",
      "api_secret": "abc_def_ghi"
    }
  }'

Mixpanel ist kein Conversion-Ziel. Elidos Mixpanel-Integration leitet jeden Short-Link-Klick als link_click-Event weiter, und du verbindest sie separat unter Integrationen.

Schritt drei: die Conversion per POST senden. Wenn die Bestellung auslöst, sende das Event mit der click_id und den Bestelldetails. event_id ist dein Idempotenzschlüssel:

curl -X POST \
  https://api.elido.app/v1/conversions \
  -H "Authorization: Bearer $ELIDO_TOKEN" \
  -d '{
    "click_id":   "clk_01HYZ7T8WV6KQX3M",
    "event_name": "purchase",
    "event_id":   "ord_98231",
    "value":      89.00,
    "currency":   "EUR",
    "user": {
      "email":  "[email protected]",
      "phone":  "+4915123456789",
      "external_id": "cust_5128"
    }
  }'

Nutzeridentitätsfelder werden vor der Weiterleitung an Meta und GA4 mit SHA-256 gehasht, das verlangen beide Plattformen. Der UTM-Kontext wird aus der Klick-Zeile gezogen, die zur click_id passt, sodass das weitergeleitete Event die ursprüngliche Kampagnen-Attribution trägt, selbst wenn die Nutzerin oder der Nutzer eine Stunde lang auf der Seite herumgestöbert hat, bevor sie oder er zur Kasse ging. Die vollständige Mechanik, einschließlich Rückerstattungsbehandlung und des Umschalters für das Multi-Touch-Attributionsmodell, steht in der Conversion-Weiterleitungs-Anleitung.

Admin-Tab für Conversion-Tracking-Pixel im Elido-Dashboard, mit Feldern für Meta Pixel ID, Google Ads / GA4 ID, LinkedIn Insight Tag und TikTok Pixel Code

Damit ist der Großteil der Lücke geschlossen. Es bleibt ein Restloch, Besucher, die das click_id-Cookie blockieren, oder solche, die über einen Nicht-Elido-Pfad ankommen, aber für die Kampagnen, in die du tatsächlich Traffic lenkst, bist du von "60 bis 80 Prozent Pixel-Zuverlässigkeit" auf "95 Prozent plus Server-Zuverlässigkeit" gewechselt.

Drei Grenzfälle, bei denen dir das Audit-Log den Tag rettet

Vorlagen und Weiterleitung decken den Glücksfall ab. Die folgenden Fälle tauchen in Woche drei jeder nicht trivialen Kampagne auf, und die richtige Antwort auf alle liegt im Audit-Log plus dem Conversions-Panel, nicht im Versuch, eine ausgefeiltere Vorlage zu entwerfen.

Ein Fall, der nicht auf dieser Liste steht, weil du dich mit einer Vorlage nicht davon freikaufen kannst: ein Klick, der ohne Referrer und mit einem Kampagnenparameter ankommt, den du nicht gesetzt hast. Das schicken KI-Assistenten, und Traffic von ChatGPT tracken arbeitet durch, was damit zu tun ist.

Rückerstattungen. Eine Kaufconversion hat ausgelöst, die Kundschaft hat den Artikel eine Woche später zurückgegeben, und dein gemeldeter Umsatz ist jetzt 8 Prozent zu hoch. Die Lösung ist, dieselbe event_id per POST mit event_name: "refund" zu senden. Meta und GA4 behandeln das als negative Conversion gegen das Original. Der Grund, warum event_id so aufgebaut ist: Idempotenz auf Event-ID-Ebene bedeutet, dass du auch die Rückerstattung nicht doppelt zählen kannst. Das vollständige Muster ist im Abschnitt zu Grenzfällen der Conversion-Weiterleitungs-Anleitung dokumentiert, Rückerstattungen, Teilrückerstattungen und Gutschriften haben jeweils eine leicht andere Form.

Click-id-Fehltreffer. Eine Conversion löst mit einer click_id aus, die zu keinem bekannten Klick passt, Tippfehler, über die Aufbewahrungsfrist hinaus abgelaufen, falscher Workspace. Die Conversion wird trotzdem gegen den Workspace erfasst, aber mit leerem UTM-Kontext weitergeleitet. Das ist Absicht: Catch-all-Attribution ist nützlicher, als die Conversion einfach fallen zu lassen, und das click_id_unknown-Flag im Audit-Log lässt dich beim Reporting nach dem nicht zugeordneten Anteil filtern. Ist dieser Anteil größer als 5 Prozent der Conversions, stimmt etwas nicht damit, wie du die click_id auf der Zielseite persistierst, meist das SameSite-Attribut des Cookies oder der Pfad-Scope.

Spät eintreffende Conversions. Ein B2B-SaaS-Deal schließt 47 Tage nach dem ursprünglichen Klick. Elidos Standard-Klick-Aufbewahrung liegt bei 30 Tagen, wenn die Conversion also auslöst, ist der Klick bereits abgelaufen, und du befindest dich im obigen Fall des Click-id-Fehltreffers. Zwei Lösungen, je nach deinem Sales-Zyklus: die Aufbewahrung im Workspace auf 90 Tage erhöhen (Pro-Plan und höher), oder die click_id auf einem langlebigen First-Party-Identifikator erfassen (die original_click_id-Spalte in deinem Kundendatensatz), damit du sie zum Zeitpunkt der Conversion wieder zusammenführen kannst, selbst wenn das Cookie weg ist. Wir haben beide Muster in Produktion gesehen.

Das Audit-Log zeigt den Diff zwischen aufgelöster und finaler UTM pro Link, den Weiterleitungs-Antwortcode pro Ziel und pro Conversion und den Join-Status zwischen click_id und Conversion. Wenn der Optimierungsalgorithmus Budget aus einer Kampagne abzieht, die schwach performt aussieht, ist das Audit-Log das, was dir erlaubt zu sagen: "nein, die Kampagne ist in Ordnung, wir haben drei Tage Weiterleitung an ein rotiertes GA4-api_secret verloren". Schau hinein.

Die QA vor dem Launch: die ganze Pipeline im Trockenlauf testen

Lass nicht die erste Conversion, die hier durchfließt, eine echte Käuferin oder einen echten Käufer sein. Die Kosten eines 30-minütigen Trockenlaufs trägst allein du; die Kosten einer falsch konfigurierten Pipeline trägt der Optimierungsalgorithmus, der zwei Tage lang Budget aus deiner leistungsstärksten Kampagne abzieht, bevor du es merkst. Die Asymmetrie ist schlecht.

Drei Schritte, der Reihe nach.

Bulk-Import-Trockenlauf. Der Bulk-Import-Endpunkt akzeptiert dry_run=true als Query-Parameter. Er führt die Validierung durch, löst die Vorlagen auf und gibt die würde-erstellt-werden-Links zurück, ohne zu committen. Öffne die Antwort in einem beliebigen JSON-Viewer; die aufgelöste URL jeder Zeile ist sichtbar. Stichprobenartig 3 bis 5 Zeilen prüfen: den zweiten Link, den letzten Link und alle Zeilen, die Workspace-Standardwerte überschrieben haben. Prüfe, dass der utm_*-Query-String genau dem entspricht, was dein Kampagnen-Briefing vorgibt.

Testmodus für Conversion-Weiterleitung. Meta CAPI akzeptiert einen test_event_code-Parameter, der das Event in den Tab Test Events im Events Manager statt in Produktion leitet. Setze ihn in der Workspace-Weiterleitungskonfiguration, sende 10 bis 20 Beispiel-Conversions und bestätige, dass sie ankommen. Dieselbe Idee für GA4: setze debug_mode: true auf den Events und verifiziere in DebugView. Beides läuft in Echtzeit. Es geht nicht darum, stichprobenartig zu prüfen, dass die API funktioniert; es geht darum, eine falsch konfigurierte pixel_id oder ein api_secret zu erwischen, das rotiert und nie aktualisiert wurde.

End-to-End-Smoketest. Klicke einen deiner echten Short-Links aus einer sauberen Browsersitzung heraus. Beobachte den Klick im Recent-Clicks-Panel des Elido-Dashboards. Tu so, als hättest du etwas gekauft, sende per POST eine purchase-Conversion mit dieser click_id von deinem Terminal aus. Bestätige, dass die Conversion mit dem richtigen UTM-Kontext in Meta Test Events und GA4 DebugView erscheint. Die ganze Schleife dauert unter 10 Minuten, sobald du sie einmal gemacht hast.

Sobald alle drei bestanden sind, entferne den test_event_code, setze debug_mode: false und ship. Die erste echte Kundin oder der erste echte Kunde findet eine saubere Pipeline vor.

Conversions-Panel im Elido-Dashboard mit Gesamtconversions und Umsatz, Top-Links nach Umsatz, täglichem Umsatzdiagramm der letzten 30 Tage und Umsatzaufschlüsselung nach Plattform

Wann du tatsächlich eine CDP willst

Vorlagen plus Bulk-Import plus serverseitige Weiterleitung bringen dich fast ans Ziel. Es gibt eine Klasse von Problemen, bei denen das nicht reicht, und dort ist eine CDP die richtige Wahl.

Geräteübergreifende Identitätsverknüpfung. Ein Besucher klickt auf mobil einen Link, konvertiert nicht, kommt am Desktop zurück, meldet sich an. Du willst beide Touchpoints derselben Person zuordnen. UTM-Tracking plus click_id arbeitet auf Touchpoint-Ebene; die Identitätsebene, die aus zwei Touchpoints eine Journey macht, ist genau das, wofür eine CDP (Segment, mParticle, RudderStack) gebaut ist. Elido speichert bis zu 30 Tage Klicks pro Besucher und unterstützt Last-Touch-, First-Touch- und Position-Based-Attribution innerhalb dieses Fensters, aber die geräteübergreifende Verknüpfung braucht einen Identitätsgraphen, den wir bewusst nicht betreiben.

Personalisierung unter 100 ms. Wenn du die Zielseite in Echtzeit auf Basis der vorherigen Touchpoints des Besuchers renderst, die Kohorte aus einem Feature Store ziehst und die Hero-Überschrift variierst, brauchst du die Identitätsauflösung nah am Rendering. Das ist CDP-Terrain oder, häufiger, eine Experimentierplattform wie PostHog oder LaunchDarkly, die darübergelegt wird.

Multi-Touch-Attribution im großen Maßstab. Last-Touch reicht für die meisten Kampagnen. Wenn dein Sales-Zyklus sechs Touchpoints über vier Monate hat und du wirklich jeden davon gewichten musst, bist du in dem Terrain, in dem Markov-Chain- oder Shapley-Value-Attribution relevant wird. Elido macht Last-Touch, First-Touch, Position-Based; alles Anspruchsvollere braucht ein Tool mit einem echten Identitätsgraphen und einer Modellebene.

Für alles andere, und "alles andere" sind die meisten Marketingteams, mit denen ich gearbeitet habe, reicht das Muster aus Vorlagen plus Bulk-Import plus serverseitiger Weiterleitung. Richte die Workspace-Vorlage einmal ein, die Kampagnenvorlage pro Launch, die Weiterleitungskonfiguration einmal pro Plattformintegration, und führe vor jedem Launch den Trockenlauf durch. Machst du alle vier, hast du eine straffere UTM-Pipeline als 80 Prozent der Marketingteams, die ich geprüft habe.

Einmal bauen, vor jedem Launch im Trockenlauf testen, und weiter zur nächsten Kampagne.

Weiteres im Blog

Elido testen

URL einfügen, kurzer Link in Sekunden

Kein Konto nötig. Link bleibt 30 Tage aktiv. Konto erstellen, um ihn dauerhaft zu behalten.

Kostenlos, keine Anmeldung erforderlich · 2 pro Tag

Elido testen

URL-Shortener mit EU-Hosting: eigene Domains, tiefe Analytik und eine offene API. Kostenloser Tarif - keine Kreditkarte nötig.

Tags
utm tracking
utm template
utm builder
utm attribution
conversion forwarding
ga4
meta capi

Weiterlesen