Conversion-Tracking

Implementierung

Zusammenfassung

Eine Conversion-Tracking-Implementierung besteht aus drei Teilen:

  • rwg_token und merchant_id von der Landingpage bzw. dem App-Einstiegspunkt erfassen.
  • rwg_token und merchant_id für das entsprechende Attributionsfenster werden beibehalten.
  • Vergleichen Sie die beibehaltenen merchant_id und merchant_id zum Zeitpunkt der Conversion (Buchung abgeschlossen).
  • Zum Zeitpunkt der Conversion wird ein Conversion-Ereignis gesendet (Buchung abgeschlossen).

Sie müssen dafür weder Google Analytics noch einen anderen JavaScript-Code von Drittanbietern verwenden.

Bevor Sie mit der Implementierung des Conversion-Trackings beginnen, sollten Sie sich entscheiden, ob Sie Conversions auf Geräte- oder Nutzerebene erfassen möchten:

  • Die Geräteebene umfasst die Verwendung von Browser-Cookies, lokalem Speicher, lokalem App-Speicher oder einer anderen Methode, mit der das Token über 30 Tage lang gespeichert werden kann. Da das Token lokal auf dem Gerät des Nutzers gespeichert wird, wird das Conversion-Ereignis möglicherweise nicht korrekt zugeordnet, wenn der Nutzer das verwendete Gerät wechselt, den lokalen Speicher oder die Cookies löscht oder den Modus zum privaten Surfen bzw. Inkognitomodus verwendet. Wenn Sie das Conversion-Tracking auf Geräteebene verwenden, müssen Sie es auf jeder unterstützten Oberfläche (auch auf Mobilgeräten) neu implementieren.
  • Zur Nutzerebene gehört es, den Bericht in Ihrer Anwendungsdatenbank, über ein serverseitiges Analysesystem oder über andere serverseitige Systeme zu speichern. Da das Token serverseitig gespeichert wird, wird das Conversion-Ereignis auch dann zugeordnet, wenn der Nutzer das verwendete Gerät wechselt, den lokalen Speicher oder die Cookies löscht bzw. den privaten Browser- bzw. Inkognitomodus verwendet, auch wenn sich der Nutzer wieder anmeldet. Wenn Sie Conversion-Tracking auf Nutzerebene verwenden, können Sie es abhängig von der Architektur Ihres Systems möglicherweise einmal auf Ihrer Serverseite implementieren und für alle unterstützten Oberflächen wiederverwenden.

rwg_token sammeln

Jedes Mal, wenn Google einen „action_link“ anzeigt, den du über deine Feeds angegeben hast, wird diese URL so geändert, dass sie einen eindeutigen Suchparameter enthält: rwg_token. Der Wert rwg_token ist ein codierter String, der einige Metadaten zu dem Link enthält, auf den der Nutzer geklickt hat. Sie sollten dieses Token speichern und als Teil des Conversion-Ereignisses zurückgeben.

Auf jeder Landingpage bzw. jedem App-Einstiegspunkt müssen Sie den für den rwg_token-Abfrageparameter festgelegten Wert parsen und speichern. Die Anforderungen zum Speichern dieses Parameters werden im Schritt rwg_token beibehalten.

Unten sehen Sie ein Beispiel dafür, wie dieses Token für das Tracking auf Geräteebene über den Browser geparst werden kann. Alternativ können Sie dieses Token serverseitig erfassen, wenn Sie auf die Anfrage antworten:

var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
  var pair = params[i].split('=');
  if (pair[0] == 'rwg_token') {
    rwgToken = decodeURIComponent(pair[1]);
    break;
  }
}

merchant_id sammeln

Wenn Sie die Conversion-Tracking-Logik im Front-End implementieren, müssen Sie auf der Landingpage ein benutzerdefiniertes Skript implementieren, das merchant_id findet und erfasst. Normalerweise ist merchant_id bereits auf der Landingpage oder in der URL vorhanden, damit Sie es von dort erfassen können. Wenn nicht, müssen Sie eine Möglichkeit finden, sie irgendwo freizugeben, damit sie erfasst werden kann, was wahrscheinlich Back-End-Änderungen implizieren würde.

Wenn Sie die Conversion-Tracking-Logik im Backend implementieren, befindet sich merchant_id möglicherweise neben den Daten, die Ihr internes System abfragen, um die Frontend-Seite zu generieren.

Diese merchant_id muss mit der übereinstimmen, die du in deinem Feed für Google freigegeben hast.

rwg_token und merchant_id beibehalten

Sie müssen den URL-Parameter rwg_token, der an alle von Ihnen bereitgestellten Aktionslinks angehängt wird, für eine Gesamtdauer von 30 Tagen beibehalten. Der Wert von rwg_token sollte ohne Änderungen gespeichert und zurückgegeben werden.

Zusammen mit der rwg_token musst du die merchant_id speichern, die mit dem Aktionslink verknüpft ist.

Wenn ein Token von einem vorherigen Besuch beibehalten wurde, sollten die früheren rwg_token und merchant_id ersetzt werden. Das Speicherfenster von 30 Tagen sollte zurückgesetzt werden.

Wenn Sie das obige Paar beibehalten, können Sie die Werte entweder auf Geräte- oder auf Nutzerebene speichern:

  • Die Geräteebene umfasst die Verwendung von Browser-Cookies, lokalem Speicher, lokalem App-Speicher oder einer anderen Methode, mit der das Token über 30 Tage lang gespeichert werden kann.
  • Zur Nutzerebene gehört es, den Bericht in Ihrer Anwendungsdatenbank, über ein serverseitiges Analysesystem oder über andere serverseitige Systeme zu speichern.

Unten sehen Sie ein Beispiel für Conversion-Tracking auf Geräteebene, bei dem diese Werte mithilfe eines eigenen Cookies in einem Webbrowser gespeichert werden. In diesem Beispiel wird davon ausgegangen, dass Sie den Tokenwert wie im obigen Beispiel in eine Variable geparst haben. Wenn Sie dieses Beispiel verwenden möchten, müssen Sie rootdomain.com auf Ihre Domain aktualisieren.

if (typeof rwg_token !== 'undefined') {
  document.cookie =
  "_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}

Wird das Conversion-Tracking auf Nutzerebene verwendet, sollte rwg_token + merchant_id auf dem Server gespeichert und dem Nutzer zugeordnet werden.

Senden von Conversion-Daten

Wenn ein Nutzer eine Transaktion abschließt, die einem Google Place Action-Link zugeordnet werden kann, müssen Sie eine HTTP-POST-Anfrage an den Conversion-Endpunkt senden. Es gibt zwei Endpunkte, einen für die Produktionsumgebung und einen für die Sandbox-Umgebung.

  • Produktion: https://www.google.com/maps/conversion/collect
  • Sandbox: https://www.google.com/maps/conversion/debug/collect

Der Post-Text sollte ein JSON-codiertes Objekt im folgenden Format sein:

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>,
  "merchant_changed": 1|2
}

Beispiel (unveränderter Händler mit dem Testtoken für Partner 20123456):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ",
  "merchant_changed": 2
}

Der Wert „merchant_changed“ wird verwendet, um zu ermitteln, ob der Händler vom ursprünglichen Weiterleitungshändler geändert wurde. Es gibt zwei Werte, die übergeben werden können:

Händleränderungswert Anforderung
1 Dieser Wert sollte verwendet werden, wenn ein Nutzer die Website des ursprünglichen Händlers verlassen und über Ihre Plattform bei einem anderen Händler etwas gekauft hat
2 Dieser Wert sollte verwendet werden, wenn der Kunde eine Transaktion über die ursprüngliche Entität (Händler) abgeschlossen hat.

Sowohl in der Sandbox- als auch in der Produktionsumgebung müssen Sie ein gültiges rwg_token angeben, wenn ein Conversion-Ereignis gesendet wird. Verwende zu Testzwecken das folgende Testtoken in beiden Umgebungen, bis du es startest:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Im Folgenden finden Sie ein vollständiges Beispiel für das Conversion-Tracking auf Geräteebene (mithilfe eines Cookies auf dem Gerät des Nutzers) als JavaScript-Code zum Erstellen dieser Übermittlungsanfrage:

const partnerId = XXXXXXXXXX;

const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal,
      merchant_changed: merchantChanged
    })
  });
}

Wenn Sie Conversion-Tracking auf Nutzerebene verwenden, sollten Sie das Token, das dem Nutzer (unabhängig von der Oberfläche, auf der er sich befindet) zugeordnet ist, von Ihrem serverseitigen Speichermechanismus abrufen und das Token mit denselben Produktions- oder Sandbox-Endpunkten senden.

Anforderungen für die Conversion-Attribution

Der erforderliche Standard für die Conversion-Attribution von Google ist ein 30‐tägiger Attributionszeitraum für alle Interaktionen mit einem „Ortslink“ in einem beliebigen Geschäft.

Dieser Attributionszeitraum bedeutet, dass Google in den folgenden Szenarien davon ausgeht, dass ein Conversion-Ereignis gesendet wird:

  • Ein Nutzer folgt einem „Place Action“-Link und gibt in derselben Sitzung eine Bestellung für denselben Händler auf. (Wert der Händleränderung = 2)
  • Ein Nutzer folgt einem „Place Action“-Link und kehrt innerhalb von 30 Tagen von einem anderen Kanal zurück, um eine Bestellung für denselben Händler aufzugeben. (Wert der Händleränderung = 2)
  • Ein Nutzer folgt einem „Place Action“-Link und gibt dann innerhalb einer Sitzung oder einer anderen Sitzung innerhalb von 30 Tagen eine Bestellung in einem anderen Geschäft auf. ( Wert der Händleränderung = 1)

Außerdem erwartet Google, dass Conversion-Ereignisse von allen Oberflächen gesendet werden, zu denen Nutzer über einen Link für ortsbezogene Aktionen gelangen können. Einschließlich:

  • Desktop- oder mobile Webanwendungen
  • Mobile Apps, entweder über einen App-Deeplink oder einen registrierten App-Intent für Ihre Domain

Wenn das Token auf Nutzerebene gespeichert wird (siehe „Token beibehalten“), wird erwartet, dass Sie die geräteübergreifende Attribution bereitstellen. Das heißt, ein Nutzer, der vom Computer aus einem Aktionslink folgt und die Transaktion dann auf einem Mobilgerät mit demselben Nutzerkonto abschließt, sollte ein Conversion-Ereignis auslösen.

Wenn das Token ausschließlich auf Geräteebene gespeichert wird, z. B. in Browsercookies, ist keine geräteübergreifende Attribution zu erwarten. In diesem Fall würde auf jedem Gerät ein separates Token bestehen bleiben, wenn der Nutzer auf diesem Gerät einem Aktionslink gefolgt wäre. Jedes Gerät würde die Attributionsregeln separat befolgen.