2017-06-16 3 views
1

Wir haben eine Website, die GA-Tracking verwendet, um den Verkehr zu verfolgen und war in der Lage Embed GA-Komponenten zu unserem CMS zu verwenden.Google Analytics Daten basierend auf Cookie-Wert

Wir haben jedoch eine Instanz, wo die eine Seite aber unterschiedliche Standorte enthält, so dass Kunden einen Standort auswählen und nur relevante Daten anzeigen können. Dies alles geschieht über Cookies im Browser z. Cookie name = "LocationID" Cookie-Wert = "Melbourne"

Ist es möglich, in GA (auch in embed GA) Daten zu zeigen, abhängig von einem Cookie-Wert einer Website?

Antwort

1

Nicht standardmäßig, aber mit einem kleinen bisschen Programmierung und Konfiguration.

Es gibt kein Datenfeld "cookieValue" in GA, Sie müssen also Ihre eigenen erstellen. Rufen Sie die Eigenschafteneinstellungen, benutzerdefinierten Definitionen und benutzerdefinierten Dimensionen auf und klicken Sie auf "Neue benutzerdefinierte Dimension".

Sie müssen sich für den "Umfang" der benutzerdefinierten Dimension entscheiden. Da sich der Speicherort eines Clients wahrscheinlich während einer Sitzung nicht ändert, würden Sie wahrscheinlich "Sitzungsumfang" auswählen, was bedeutet, dass der zuletzt ausgewählte Wert auf alle Treffer in der Sitzung angewendet wird.

Ihre neue Dimension hat einen Namen, der in der Schnittstelle verwendet wird, und einen numerischen Index, den Sie zum Senden von Daten an dieses Datenfeld benötigen. Wenn dies der erste benutzerdefinierte Dimensionsindex ist, wird der Index 1 sein.

Als nächstes müssen Sie den Cookie-Wert abrufen. Es gibt Unmengen von Cookie-Getter Funktionen für JavaScript gibt, möglicherweise die einfachste ist

window.getCookie = function(name) { 
    match = document.cookie.match(new RegExp(name + '=([^;]+)')); 
    if (match) return match[1]; 
} 

Achten Sie darauf, diese Funktionsdefinition in der Seite enthalten ist, bevor Sie es nennen. Es funktioniert nur wirklich gut, wenn der Cookie nur einen einzigen Wert speichert.

Sie können den Wert dann an Google Analytics senden. Benutzerdefinierte Dimensionen müssen zusammen mit einem Interaktionshit (Seitenaufruf, Ereignis, Timing usw.) gesendet werden.

können Sie entweder senden Sie sie mit jedem Treffer zusammen:

... (code that loads analytics.js).... 
ga('create', 'UA-XXXXX-Y', 'auto'); 
// event will be only applied to the pageview, not the event 
ga('send', 'pageview', { 
    'dimension1': getCookie('LocationId'); 
}); 
ga('send','event','eventCategory','eventAction'); 
... (other page code) ... 

Wenn man sich die Sende schauen rufen Sie sehen, dass das dritte Argument in geschweiften Klammern gewickelt ist - dass ein Konfigurationsobjekt aufgerufen wird, ist es Ihnen erlaubt, um einen oder mehrere Konfigurationswerte für Ihren Treffer zu übergeben; In diesem Fall wird der Wert für die benutzerdefinierte Dimension festgelegt, die vom Schlüsselwort "dimension" gefolgt vom numerischen Index der Dimension, an die Daten gesendet werden sollen, adressiert wird.

Eine alternative Syntax wäre die Verwendung eines "set" -Aufrufs. Das wäre einmal den Wert zu senden, und haben es mit allen nachfolgenden Interaktion senden entlang ruft:

... (code that loads analytics.js).... 
ga('create', 'UA-XXXXX-Y', 'auto'); 
ga('set','dimension1', getCookie('LocationId')); 
// dimension will be applied to both pageview and event 
ga('send', 'pageview'); 
ga('send','event','eventCategory','eventAction'); 
... (other page code) ... 

jedoch für eine Sitzung benutzerdefinierte Dimension scoped dies spielt keine Rolle, dass viel, da es genug ist, um den Wert einzustellen einmal pro Sitzung .

Benutzerdefinierte Dimensionen sind nicht Teil der Standardberichte (sie sind immerhin benutzerdefiniert), aber Sie können sie (durch den Namen, den Sie bei der Konfiguration angegeben haben) als sekundäre Dimensionen auswählen, für die Segmentierung verwenden, benutzerdefinierte Berichte oder Google erstellen Data Studio meldet oder verwendet sie in API-Integrationen.