Ein Basket Freeze ist ein beliebte Implementierung, bei der Transaktionstags auf der Bestellbestätigungsseite nicht ausgelöst werden, wenn der User bereits im Checkout war und erst dann über dem Transaktionstag zugeordneten Kanal wieder auf die Seite kommt. Ein Beispiel sind Gutscheinwebseiten. Diese Webseiten bieten Gutscheine an, die dann im Bestellprozess eingelöst werden. Als Affiliate erhalten die Betreiber dieser Seiten eine Provision für den Verkauf. Allerdings möchten Shop-Betreiber eventuell keine Provisionen für Transaktionen zahlen, bei denen der User schon über einen anderen Kanal den Kauf nahezu abgeschlossen hat, im Checkout-Prozess allerdings das Gutscheinfeld sieht, die Seite verlässt, unmittelbar darauf auf einen Gutschein-Portal auf einen passenden Gutschein klickt, wieder im ursprünglichen Online-Shop landet und den Kauf abschließt. Ein Basket Freeze löst dann das Transaktiontag für Affiliate nicht aus. (Wird ein Basket-Freeze eingesetzt, sollte im Sinne der Transparent in den Bedingungen für Partnerprogramme etc. die Implementierung klar definiert werden.)
Der Workflow

Um Festzustellen, ob ein Tag auf der Bestellbestätigungsseite ausgelöst werden soll, wird im Checkout ein Cookie gesetzt, beispielsweise beim Erreichen des Gutscheincodefeldes, das anzeigt, das ein User bereits im Warenkorb war. Die Laufzeit des Cookies definiert den Zeitraum, minimal zwischen den Besuchen über die verschiedenen Kanäle liegen muss, um nicht geblockt zu werden.

Kommt ein User nun über das Gutschein-Portal wieder auf eine Seite, wird der Wert des Cookies geändert. Die Identifizierung kann beispielweise über utm-Parameter oder anhand anderer IDs erfolgen. Der Wert des Cookie wird als Bedingung im Trigger des zugeordneten Tags genutzt.

Umsetzung im Google Tag Manager
Zuerst wird im Google Tag Manager ein Custom HTML Tag eingerichtet, das das Cookie „basket“ beim Erreichen des Warenkorbs setzt. Mit Max-Age =3600 ist das Cookie 3600 Sekunden = 60 Minuten gültig und wird danach automatisch gelöscht.

Als Trigger wird der Pageview der Warenkorbseite (oder anderer Seiten) verwendet, sofern der Wert des Cookies nicht „false“ ist.

Mit einer 1st-Party Cookie Variable „CK basket“ wird der Wert des Cookies ausgelsen. Ist kein Cookie vorhanden, ist dieser undefined.

Nun wird ein Trigger definiert, der den Affiliate-Traffic anhand utm_medium erkennt. Damit das Cookie mit false nur angelegt wird, wenn vorher ein Kontakt mit einem anderen Kanal innerhalb der 60 Minuten stattgefunden hat, wird true als Cookie Wert vorausgesetzt.

Der Custom HTML Tag für das Überschreiben des Wertes ist nahezu identitisch mit den anderen Custom HTML Tag.

Der Trigger für das Affilaite Tag wird um die Bedingung ergänzt, das der Wert des Cookies true ist.

Testen der Implementierung
Um die Implementerung zu testen, prüfen wir das Cookie auf der Warenkorbseite:

Das Cookie wird richtig gesetzt. Nun startet ein neuer Besuch mit dem utm_medium=affiliate Parameter

Das Cookie wird überschrieben. Bei der Transaktion wird das Tag nicht ausgelöst.

Die Implementierung ist komplett. Im nächsten Artikel wird aufgezeigt, wie eine Messung nach dieser Login in Google Analytics erfolgen kann.
1 thought on “Basket Freeze im Google Tag Manager implementieren”