So duplizieren Sie Ziele aus Yandex.Metrica in Google Analytics

Was kann ich tun, wenn Sie in Yandex.Metrica über Google Tag Manager (GTM) eine große Anzahl von Zielen einrichten und diese Ziele dringend als Ereignisse an Google Analytics (GA) übertragen müssen? Natürlich können Sie jedes Tag neu konfigurieren, um Ereignisse parallel an GA und Metric zu senden. Wenn Metric jedoch viele Ziele enthält, wird dies einige Zeit dauern.

Die umgekehrte Situation ist möglich, wenn die Ziele nicht von Ihnen, sondern von Entwicklern im Site-Code selbst festgelegt wurden. Als Unternehmensanalyst müssen Sie das Senden derselben Ereignisse an GA konfigurieren, und Sie haben nur GTM zur Hand. In diesem Fall können selbst bei einer geringen Anzahl von Zielen Schwierigkeiten auftreten. Ereignisauslöser in GTM müssen so weit wie möglich angepasst werden, damit die Ziele in Metrik und Ereignisse in GA der gleichen Logik folgen und es keine signifikanten Abweichungen in verschiedenen Analysesystemen gibt.

In beiden Fällen muss mehr als eine Stunde aufgewendet werden, um alles manuell anzupassen. Sie können jedoch eine praktischere Option finden. Es gibt eine Funktion, mit der Sie das Senden von Zielen an die Metrik abfangen und gleichzeitig Pushs an den dataLayer senden können. Sie müssen sich also nicht daran erinnern oder verstehen, wie das Senden von Zielen an Yandex.Metrica konfiguriert wurde - verwenden Sie einfach die gewünschte Funktion. Die Arbeitsversion der Funktion hängt davon ab, welche Version des Yandex.Metrica-Zählers Sie installiert haben.

So unterscheiden Sie einen neuen Metrikzähler von einem alten


Um die Arbeitsversion einer Funktion zu ermitteln, müssen Sie wissen, welche Version des Zählers auf Ihrer Site installiert ist.

Wenn Ihr Zähler am 10.12.2008 früher installiert und später nicht aktualisiert wurde, haben Sie eine alte Version:

<script type="text/javascript" > (function(d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounterXXXXXXXX = new Ya.Metrika({ id: XXXXXXXX, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); } catch (e) {} }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function() { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); })(document, window, "yandex_metrika_callbacks"); </script> 

wo:

XXXXXXXX ist Ihre Zählernummer.
w.yaCounterXXXXXXXX im Code macht deutlich, dass dies die alte Version des Zählers ist.
Ein Beispiel für das Senden eines Ziels in einem alten Zähler:

 <script> yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); </script> 

wo:

XXXXXXXX - Ihre Zählernummer;
TARGET_NAME ist die Kennung des Ziels.

Eine neue Version des Zählers erschien am 12/10/2018.

Es sieht so aus:

 <script type="text/javascript" > (function(m, e, t, r, i, k, a) { m[i] = m[i] || function() { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(XXXXXXXX, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); </script> 

wo:

XXXXXXXX ist Ihre Zählernummer.
ym (XXXXXXXX im Code macht deutlich, dass dies die neue Version des Zählers ist.
Beispiel für das Senden eines Ziels in einem neuen Zähler:

 <script> ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); </script> 

wo:

XXXXXXXX - Ihre Zählernummer;
TARGET_NAME ist die Kennung des Ziels.

Funktion für die alte Version von Yandex.Metrica


Wenn Sie eine alte Version des Yandex.Metrica-Zählers installiert haben (siehe oben), sieht die Funktion zum Abfangen von Sendezielen folgendermaßen aus:

 <script> function mainTagFunction(reachGoal) { yaCounterXXXXXXXX.reachGoal = function() { var param = arguments[0]; reachGoal.apply(this, arguments); //     dataLayer.push({ 'event': 'metrika', 'event_param': param }); }; } var yCounter = 0; function ySearch() { if (window.yaCounterXXXXXXXX) mainTagFunction(yaCounterXXXXXXXX.reachGoal); else { if (yCounter < 100) { setTimeout(ySearch, 100); yCounter++; } else console.log(' .  '); } } ySearch(); </script> 

wo:

XXXXXXXX - Ihre Zählernummer;

Der Code wird jedes Mal ausgelöst, wenn die Funktion yaCounterXXXXXXXXX mit der Methode aimGoal aufgerufen wird. Die Funktion macht einen Push in der Datenschicht, beim Push werden der Ereignisname (metrika) und der Parameter übertragen, die Kennung des Ziels wird im Parameter übergeben.

Funktion für die neue Version von Yandex.Metrica


Wenn Sie eine neue Version des Yandex.Metrica-Zählers installiert haben, haben Sie folgende Funktion zum Abfangen von Sendezielen:

 <script> function func (){ //   var yCounter = 0; //   . function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log(' .  '); } //  function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //  ySearch(); }; setTimeout(func, 1000); </script> 

Es funktioniert jedes Mal, wenn die Funktion ym () aufgerufen wird, und wenn die Reachgoal- Methode aufgerufen wurde, sendet es einen Push an den DataLayer. Der Name des Ereignisses (metrika) und der Parameter werden an den dataLayer übergeben, die Kennung des Ziels wird an den Parameter event_param übergeben.

Konfigurieren Sie das Senden von Ereignissen an GA über GTM


Um GTM so zu konfigurieren, dass Ereignisse mit den Zielen der Metrik in GA gesendet werden, müssen Sie:

1. Erstellen Sie einen Trigger " Seite anzeigen - DOM-Modell bereit ". Sie können außerdem angeben, auf welchen Seiten Sie Ziele aus Metrik in GA duplizieren möchten



2. Erstellen Sie ein " Custom HTML " -Tag und fügen Sie den gewünschten Funktionscode ein. Auf diesem Tag ist ein zuvor erstellter Trigger installiert.



3. Erstellen Sie einen Trigger " Benutzerdefiniertes Ereignis " mit dem Ereignisnamen metrika.



4. Erstellen Sie eine Variable „Variable auf Datenebene “ mit einem Namen, wie im Beispiel gezeigt:



5. Erstellen Sie ein Tag " Google Analytics - Universal Analytics " mit einem Auslöser und einer Variablen, die zuvor erstellt wurden.



wo:

UA-XXXXXXXX-XX - Ihre Google Analytics -Zählernummer

6. Veröffentlichen Sie den GTM-Container.



Mit diesen Einstellungen erhält Google Analytics Ereignisse mit der Kategorie des Ereignisses - Metrika. Die Aktionen für diese Ereignisse sind die Kennungen der Ziele von Yandex.Metrica.



Überprüfen Sie die Einstellungen


Um die Richtigkeit der Einstellungen für das Senden von Ereignissen an GA zu überprüfen, müssen Sie den folgenden Code in die Konsole Ihres Browsers eingeben:

a) Für den neuen Metrikzähler

 ym(XXXXXX, 'reachGoal', 'TARGET_NAME') 

wo:

XXXXXXXX - die Nummer Ihres Zählers in Yandex.Metrica.

b) Für den alten Metrikzähler

 yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); 

wo:

XXXXXXXX - die Nummer Ihres Zählers in Yandex.Metrica.

Die Konsole in jedem Browser wird auf ihre eigene Weise geöffnet. Bei Chrome wird die Konsole beispielsweise mit der Tastenkombination Strg + Umschalt + j geöffnet:



Nach dem Drücken der Eingabetaste sollte Ihr Ereignis nicht nur zu Metric, sondern auch zu GA wechseln.

Um dies zu überprüfen, öffnen Sie den Bericht "Ereignisse" im Abschnitt " In Echtzeit ":



Wenn alles richtig konfiguriert wurde, sehen Sie eine Zeile mit den Werten Metrika und TARGET_NAME.

Herzlichen Glückwunsch, Sie haben die Übertragung von Zielen von Metric auf Google Analytics eingerichtet!

Material wurde für das Portal Cossa vorbereitet.

Source: https://habr.com/ru/post/de458328/


All Articles