FROM CACHE - de_header

Zusätzliche Skripte {{order.name}} Variable manchmal leer

Gelöst
Fry
Forscher
68 2 35

Moin zusammen,

 

ich möchte meine Conversions nach dem Kauf tracken.

 

Kann mir jemand von euch sagen, wieso die Variable {{order.name}} nach dem Checkout unter zusätzliche Skripte (Bestellstatusseite), manchmal von Shopify gefüllt ist und manchmal nicht? Dadurch gibt es eine ganz schöne inkonsistente Daten, wenn dieses Feld eigentlich benötigt wird für das Tracking und es auf einmal leer ist.

 

Ich habe auch beim Shopify Support nach gefragt, aber außer eine pampigen Antwort und dass das an meinem Skript liegt habe ich keine Antwort erhalten.  Ich lasse mich hier gerne eines besseren Belehren, aber ich sehe hier keinen Zusammenhang, wieso aus Shopify, die Variable mal ankommt und mal nicht.

 

Vielen Dank und viele Grüße

Felix

1 AKZEPTIERTE LÖSUNG
Fry
Forscher
68 2 35

Erfolg.

Hallo Gabe,

 

vielen Dank für die Erklärung, tatsächlich war mein letzter Test gestern soweit erfolgreich, dass ich anscheinend die Shopify ID ? auslese, wenn meine gewünschte Variable nicht verfügbar ist. So lassen sich gerade die Käufe sauber abbilden.

 

Meine Lösung sieht damit so aus:

 

{% if order.name %}
'transaction_id': '{{ order.name | remove: "'" | remove: '"'}}',
{% else %}
'transaction_id': '{{ checkout.id | remove: "'" | remove: '"'}}',
{% endif %}

 

Vielen Dank nochmal für die Erklärung!

Lösung in ursprünglichem Beitrag anzeigen

3 ANTWORTEN 3
Gabe
Shopify Staff
Shopify Staff
14420 2267 3454

Hey @Fry 

 

Im folgenden vermute ich, dass es sich um die fehlende Übertragung der {{order.name}}

Variable an die Bestellungs-Dankeseite und somit an euer GA in eurem GMC handelt. Viele wichtige Angaben sind deiner Beschreibung nicht zu entnehmen sowie Screenshots die das zeigen.

 

Help us to help you

Bei solchen eher technischen Problemen kann man das viel besser analysieren wenn wir ausreichend Angaben hier bekommen, wie alle Schritte die zum Problem führen und Screenshots die den Sachverhalt deutlich zeigen. Ihr verwendet also ein GA-Skript unter "Zusätzliche Skripte" und über die Variable {{order.name}} sendet ihr die Bestell ID an euer GA um sie da besser auswerten zu können und mit anderen Daten zu verknüpfen, ist das richtig?


Manchmal wird die Variable {{order.name}} von Shopify gefüllt und manchmal nicht, sagst du, obwohl die Bestell ID eigentlich immer existiert. Hättest du einen Screenshot der deinen Skript zeigt (muss aber nicht sein)? Also ist in etwa 1 von 5 Fällen die Bestellinformationen nicht vorhanden, wenn die Dankeseite erreicht wird, aber sie werden ein paar Sekunden später geladen. Das führt zu Problemen, weil anfangs bei Page Load die Bestellinformationen fehlen, wenn der Inhalt an deine GA gesendet wird.

 

Das ist also ein erwartetes Verhalten. Der Grund dafür liegt in der Art und Weise, wie wir die Auftragserstellung verzögern oder drosseln. Es ist eine Drosselung im System, die Warteschlangen für die Bestellungen und Aufträge usw. bedeuten, so dass es keine Garantie dafür gibt, dass die Bestellung fertig ist, wenn der Kunde die Dankeseite erreicht.

 

In einer idealen Welt wäre die Bestellung zu dem Zeitpunkt fertig, an dem die Dankeseite angezeigt wird, aber das ist in der Regel nicht der Fall und sollte auch nicht erwartet werden, denn der Grund dafür ist die Leistungsoptimierung, um dem Kunden ein reibungsloses Bezahlerlebnis zu bieten. Folglich sind diese Bestellinformationen in den meisten Fällen noch nicht fertig.

 

Im grossen und ganzen scheint somit es das erwartete Systemverhalten zu sein. Wenn die Dankeseite zum ersten Mal aufgerufen wird, erscheinen Objekte wie [order.name], [order.customer.email] erstmals nicht. Sie werden erst nach ein paar Sekunden angezeigt, wenn die Bestellung abgeschlossen ist was viele Faktoren hat, wie z. B. welche Zahlungsmethode verwendet wurde wie PayPal oder Sofort usw. 

 

Workaround

Ich empfehle hier stattdessen orders/create Webhooks zu verwenden. Wenn du also eine zuverlässigere Berichterstattung oder Conversion Tracking und Datenübertragung an deinen GMC wünschst, wäre es besser, wenn nur die Checkout-informationen verwendet würden (alles, was in der checkouts tabelle steht, ist in Ordnung, außer natürlich Dinge wie order_id) und dann den Webhook orders/create verwenden, um die richtigen Informationen mit dem checkout_token zu verknüpfen.

 

Dann kommt auch vieles beim Tracking auf die Gegebenheiten auf Kundenseite drauf ankommt, wie z. B. die Browser-Einstellungen oder inwieweit der Kunde zum Tracking und Cookies et al. zugestimmt hat. Verwendet der User Apple's ATT (App Tracking Transparency) oder Safari's ITP (Intelligent Tracking Prevention) usw. dann werden die notwendigen Daten nicht an Shopify übertragen.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

Fry
Forscher
68 2 35

Erfolg.

Hallo Gabe,

 

vielen Dank für die Erklärung, tatsächlich war mein letzter Test gestern soweit erfolgreich, dass ich anscheinend die Shopify ID ? auslese, wenn meine gewünschte Variable nicht verfügbar ist. So lassen sich gerade die Käufe sauber abbilden.

 

Meine Lösung sieht damit so aus:

 

{% if order.name %}
'transaction_id': '{{ order.name | remove: "'" | remove: '"'}}',
{% else %}
'transaction_id': '{{ checkout.id | remove: "'" | remove: '"'}}',
{% endif %}

 

Vielen Dank nochmal für die Erklärung!

Gabe
Shopify Staff
Shopify Staff
14420 2267 3454

Hey @Fry 

 

Wow, das ist ein sehr elegante Lösung, Hut ab! Die wird auch andere hier in der Community sicherlich helfen können.

 

giphy

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog