2016-04-06 8 views
0

Lassen Sie uns so tun, als hätte ich eine Website, die auf app.com gehostet wird. Meine Website wird auf einer anderen Website unter platform.com über einen iFrame veröffentlicht.analytics.js: Verfolgen einer Website, die in einem iframe auf einer anderen Domäne abgelegt wird

<html class="platform.com"> 
    <body> 
     <iframe src="app.com"> 
       //ga init code 
       ga("create", "UA-0000000", { 
        storage: "none", 
        userId: options.userId, 
        clientId: options.userId 
       }); 
     </iframe> 
    </body> 
</html> 

Das Problem ist, dass ich Anfragen Dispatching zu google-analytics.com/collect sehen kann, aber keine Daten vorgelegt tatsächlich zu Google Analytics-Berichte.

enter image description here

Ich habe Filter in GA Admin überprüft, und es gibt keine. Ich denke, dass das Problem mit der aktuellen Domäne und dem Mismatch der Quelldomäne der Anfrage zusammenhängt, aber ich kann nicht herausfinden, was ich tatsächlich tun kann, um dies zu lösen.

Wie Sie verstehen, habe ich keinen Zugriff auf den Code platform.com, alles, was ich manipulieren kann, ist der Code in Iframe.

ich verwendet, um diese Quellen:

About GA cross-domain tracking

About GA cookies

Antwort

0

Wenn Sie nicht Interaktionen in der übergeordneten verfolgen nicht die Kontrolle über die Eltern haben können (Sie bräuchten die Postmessage Schnittstelle zu implementieren und das würde erfordern, dass Sie eine Funktion in platform.com einfügen).

Allerdings sollte es kein Problem mit Tracking-Wechselwirkungen innerhalb des iframe selbst (N. B. Ich vertraue darauf, dass der GA-Code tatsächlich innerhalb des Quellcodes der eingerahmte Seite ist, nicht buchstäblich zwischen den Iframe-Tags eingefügt).

Es ist nicht sinnvoll, die Einstellungen cookieDomain.auto und storage: none zu verwenden, da diese sich gegenseitig ausschließen (cookieDomain: auto weist das ga-Objekt an, die aktuelle "Haupt" -Domäne als Cookie-Domäne, Speicher: keine) zu verwenden sagt ga nicht, Speicher wie Cookies zu verwenden, in jedem Fall senden Sie Ihre eigene Client-ID und Sie benötigen keine Cookies.

Ich empfehle, die Ga-Debugger-Erweiterung zu verwenden (zumindest für Chrome verfügbar) und auch Ihr Konto für Filter zu überprüfen. Gewöhnlich weigert sich GA, etwas zu senden, wenn ein Fehler vorliegt, so dass das Problem am empfangenden Ende sehr gut sein kann.

+0

Ja, ich möchte nur Interaktionen innerhalb iframe verfolgen. Ich habe den CookieDomain-Parameter entfernt, aber der Effekt ist derselbe. Ich habe das GA-Admin-Panel für Filter überprüft und es gibt keine. Es gibt keine Fehler in der Konsole und die Anfragen werden ohne Probleme versandt, aber ich werde die Debugger-Erweiterung trotzdem überprüfen. Vielen Dank. – Cubius

+0

Um das Triviale auszuschließen, haben Sie die Echtzeitberichte überprüft oder einige Stunden gewartet, bevor Sie überprüft haben (es gibt eine Verzögerung aufgrund der Bearbeitungszeit)? –

+0

Ich überprüfe Echtzeitberichte für ein bestimmtes Ereignis. Wenn ich meine Website direkt öffne (ohne iFrame), wird das Ereignis in den Berichten angezeigt. Aber wenn ich es über 'platform.com' iframe öffne, erscheint nichts in Berichten. – Cubius

Verwandte Themen