URL Makros der Ad Plattformen
Ein Makro ist ein Platzhalter in einer Click URL, den die Ad Plattform im Moment des Klicks durch einen echten Wert ersetzt. So kann ein einziges Tracking Template Kampagne, Ad Set und Motiv für tausende Anzeigen melden, ohne dass jemand sie tippt.
Jede Plattform hat ihre eigene Syntax erfunden, keine ist mit einer anderen austauschbar, und alle brechen auf dieselbe Weise: sobald irgendetwas den Platzhalter kodiert, ist er kein Platzhalter mehr, sondern wörtlicher Text im Report.
Die Syntax je Plattform
| Plattform | Form | Häufige Tokens |
|---|---|---|
| Google Ads | Einfache Klammern, ValueTrack | {campaignid}, {adgroupid}, {creative}, {keyword}, {network}, {device} |
| Microsoft Ads | Einfache Klammern, gemischte Schreibweise | {CampaignId}, {AdGroupId}, {AdId}, {keyword} |
| Meta | Doppelte Klammern | {{campaign.name}}, {{adset.name}}, {{ad.name}}, {{placement}}, {{site_source_name}} |
| TikTok Ads | Doppelte Unterstriche | __CAMPAIGN_NAME__, __AID_NAME__, __CID_NAME__, __PLACEMENT__ |
| Display & Video 360 | Dollar und Klammern | ${CAMPAIGN_ID}, ${LINE_ITEM_ID}, ${CREATIVE_ID} |
| Campaign Manager 360 | Prozent und Ausrufezeichen | %ecid!, %epid! |
Zwei Dinge fallen in der Tabelle auf. Meta liefert Namen, Google liefert numerische IDs. Wer lesbare Kampagnennamen aus Google Ads im Report will, muss sie tippen, oder Kostendaten importieren und über utm_id verbinden. Und Microsoft hat die Klammersyntax von Google übernommen, aber nicht die Schreibweise, weshalb ein aus dem einen Konto ins andere kopiertes Template still nicht mehr auflöst.
Warum Kodierung ein Makro tötet
Die meisten URL Builder rufen auf jeden Wert einen Standard Encoder auf, bevor sie den Query String zusammensetzen. Für einen Kampagnennamen mit Leerzeichen ist das richtig. Für ein Makro ist es tödlich:
{{campaign.name}} wird zu %7B%7Bcampaign.name%7D%7D
${CREATIVE_ID} wird zu %24%7BCREATIVE_ID%7D
%ecid! wird zu %25ecid!
Die Plattform sucht ihr eigenes Token, findet eine kodierte Zeichenkette, die nicht passt, und reicht die URL unverändert durch. Der Klick funktioniert weiterhin, und der Report füllt sich mit Zeilen, die wörtlich %7B%7Bcampaign.name%7D%7D heißen.
Genau deshalb zerlegt der UTM Builder auf dieser Seite jeden Wert in Makro und Klartext Segmente, kodiert nur den Klartext und lässt die Makros Byte für Byte stehen. Er überspringt in einem Makro auch die Warnung wegen Großbuchstaben, denn ${CREATIVE_ID} muss groß bleiben, ein Kampagnenname nicht.
Wo das Makro hingehört
Die richtige Syntax ist nur die Hälfte. Jede Plattform hat ein bestimmtes Feld für das Makro, und das falsche Feld ist die zweithäufigste Fehlerquelle.
Google Ads
Besser das Tracking Template auf Konto oder Kampagnenebene, oder das Suffix der finalen URL, wenn nur Parameter angehängt werden sollen. UTM Tags direkt in der finalen URL jeder Anzeige funktionieren, bedeuten aber, dass bei jeder Änderung der Konvention jede Anzeige bearbeitet wird, und das löst eine erneute Prüfung aus.
Meta
Das Feld URL Parameter auf Anzeigenebene nutzen. Ohne führendes Fragezeichen eintragen, also utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}. Meta hängt es an und setzt das Trennzeichen selbst.
TikTok
Makros stehen in der URL selbst auf Anzeigenebene. Die Makronamen sprechen von Ad Group und Ad statt Ad Set und Ad, weshalb __AID_NAME__ die Ad Group ist und nicht die Anzeige.
DV360 und Campaign Manager 360
Das sind Klick Makros, die der Ad Server ersetzt, nicht eine Bidding Plattform. Sie gehören in die Click Through URL am Placement oder am Creative. Ist das Creative ein HTML5 Banner, läuft die URL über den clickTag, beschrieben im clickTag Generator und einfügbar in ein bestehendes ZIP mit dem clickTag Editor.
Ein Makro vor dem Launch testen
Makros lassen sich nicht testen, indem man die URL im Browser lädt, denn dort ersetzt sie niemand. Drei Prüfungen fangen aber fast jeden Fehler:
- Die rohe URL lesen. Das Token muss wörtlich dort stehen, ohne ein einziges
%7B. - Plattform und Syntax abgleichen. Klammern für Google und Meta, Unterstriche für TikTok, Dollar für DV360. Ein Meta Makro in einem Google Ads Template tut nichts.
- Am Launchtag eine Live Anzeige anklicken und die Ziel URL in der Adressleiste ansehen. Steht der Platzhalter noch da, hat die Plattform nicht ersetzt, und der Fehler hat einen Klick gekostet statt einen Monat.
Nach dem Launch zeigt sich ein gescheitertes Makro unverkennbar als Kampagnen oder Content Wert mit Klammern. Diese Signatur steht unter den Ursachen in warum GA4 Unassigned Traffic zeigt.
Eine Warnung zu Namen
Namensmakros liefern genau das, wie die Kampagne in der Plattform heißt, samt Leerzeichen, Großbuchstaben und Satzzeichen. Eine Kampagne namens Spring Sale 2026 (DE) FINAL v2 landet exakt so kodiert im Report und gruppiert sich mit nichts.
Wer Namensmakros nutzt, macht die Namenskonvention in der Ad Plattform zur Namenskonvention in der Analyse, ob gewollt oder nicht. Also entweder Kampagnen so benennen, wie sie berichtet werden sollen, oder ID Makros nutzen und die lesbaren Namen später dazu verbinden.