Wenn Ihre Website Geschäftsereignisse an window.dataLayer sendet, weil Sie Google Tag Manager für Google Analytics eingerichtet haben, kommen diese Ereignisse bereits bei Skomi an. Es gibt nichts umzuschreiben, keinen Adapter zu installieren und keinen zweiten Push neben den ersten zu setzen.
Diese Seite ist, was passiert, was nicht, und die Grenzen, die man kennen sollte, bevor man sich darauf verlässt.
Nichts zu tun
Installieren Sie das Snippet. Skomi hängt sich an dataLayer und liest, was hineingeschoben wird.
Beide Formen funktionieren:
// die Objektform
dataLayer.push({ event: 'purchase', value: 49.00, currency: 'EUR' });
// gtag, das seine eigenen Argumente statt eines Objekts hineinschiebt
gtag('event', 'purchase', { value: 49.00, currency: 'EUR' });
Sie können GTM behalten. Sie können Google Analytics neben Skomi weiterlaufen lassen, während Sie beide vergleichen; das ist der vernünftige Weg umzuziehen, und nichts hier steht ihm im Weg.
Warum es funktioniert, welches Skript auch zuerst lädt
GTM ersetzt dataLayer.push durch seine eigene Hülle, sobald gtm.js fertig geladen hat, und beide Skripte laden asynchron. Was als Zweites landete, würde schlicht die Hülle des anderen überschreiben und dessen Ereignisse still verschlucken.
Skomi installiert push stattdessen als Zugriffsmethode, GTMs Zuweisung kommt also im Setter an und wird zu der Funktion, an die Skomi weiterreicht. Unsere bleibt vorn, wie das Rennen auch ausgeht. Sie müssen Ihre Tags nicht sortieren.
Was erfasst wird
Der Ereignisname: event am Objekt, oder das zweite Argument von gtag.
Jede Eigenschaft, flach gemacht zu gepunkteten Pfaden, denn die Eigenschaften eines Ereignisses werden als Text gespeichert:
dataLayer.push({
event: 'purchase',
transaction_id: 'ORD-1234',
value: 49.00,
currency: 'EUR',
ecommerce: { items: [{ item_name: 'Pro plan', price: 49.00 }] }
});
kommt an als transaction_id, value, currency, ecommerce.items.0.item_name, ecommerce.items.0.price.
Der Geldbetrag, gelesen aus value oder aus ecommerce.value. Zeichenketten werden angenommen, denn dataLayer-Werte kommen oft als Text aus einer Vorlage.
Die Währung, aus currency oder ecommerce.currency auf demselben Weg. Ein GA4-E-Commerce-Ereignis trägt { value, currency } ohnehin zusammen, eine für Google verdrahtete Website sendet Skomi also einen vollständig benannten Kauf, ohne es zu wissen.
Die Bestellnummer. Der Server liest transaction_id aus den Eigenschaften, und eine Wiederholung derselben Nummer wird verworfen statt gezählt, was mehr zählt, als es klingt. Eine Bestätigungsseite feuert bei jedem Laden: ein Neuladen, ein Zurück-Knopf, das Wiederöffnen der E-Mail eine Woche später. Ohne Bestellnummer sind das drei Verkäufe.
Was nicht erfasst wird
GTMs eigene Lebenszyklus-Ereignisse. Alles unter dem Namensraum gtm. und die Schlüssel, mit denen GTM seinen eigenen Versand steuert: event, eventCallback, eventTimeout, eventModel, _clear. Sie sagen nichts über Ihr Geschäft und wären den echten Ereignissen mehrfach überlegen.
Alles jenseits der Grenzen. Die sind echt und es lohnt, sie zu kennen, bevor man sie entdeckt:
| Grenze | Wert |
|---|---|
| Eigenschaften je Ereignis | 25 |
| Verschachtelungstiefe | 3 Ebenen |
| Name einer Eigenschaft | 64 Zeichen |
| Wert einer Eigenschaft | 255 Zeichen |
| Bestellnummer | 128 Zeichen |
⚠ Ein großes ecommerce.items-Feld passt nicht. Jeder Posten steuert mehrere Eigenschaften bei, eine Bestellung mit zehn Positionen liegt also weit über fünfundzwanzig, und der Rest wird verworfen statt je Posten gekürzt. Wenn Ihnen die Positionsdetails wichtig sind, gehören sie in die Berichte Ihres eigenen Shops; Skomi hält die Bestellung fest, ihren Wert und ihre Währung, nicht ihren Inhalt. Es gibt nirgends im Produkt eine Produktdimension.
Googles eigene Anbindungen. Consent-Mode-Signale, Zielgruppen-Export, Google-Ads-Verknüpfung. Die liegen zwischen GTM und Google, und Skomi ist nicht Teil davon.
Wo die Ereignisse auftauchen
Unter ihren eigenen Namen, neben denen, die Skomi selbst erfasst. Jedes Ereignis hält fest, woher es kam: datalayer für diese, api für einen handgeschriebenen skomi.track()-Aufruf, auto für die ausgehenden Links und Downloads, die Skomi ungefragt erfasst, damit Sie ein Ereignis, das Sie verlangt haben, von einem unterscheiden können, das Sie nur zugelassen haben.
Machen Sie aus jedem davon ein Ziel, um eine Konversionsrate dagegen zu bekommen.
Wenn Sie es lieber direkt aufrufen
skomi.track('purchase', { plan: 'pro' }, 49.00, 'EUR', 'ORD-1234');
Name, Eigenschaften, Wert, Währung, Bestellnummer, die letzten drei optional. Nehmen Sie es für Ereignisse, die keinen Grund haben, durch GTM zu gehen. Eine Website, die gar keinen dataLayer hat, braucht keinen.
Prüfen, ob es funktioniert hat
Schieben Sie von der Konsole auf der echten Domain ein Testereignis hinein:
dataLayer.push({ event: 'test_event', value: 1, currency: 'EUR' });
Sehen Sie dann in Ihren Ereignissen nach test_event. Wenn es nicht da ist, arbeiten Sie was zu prüfen ist, wenn das Snippet nicht funktioniert durch, und beachten Sie, dass localhost nichts erhebt, weil es nicht die Domain ist, die Sie registriert haben.