2012-05-21 4 views
0

У меня есть один домен, настроенный с несколькими учетными записями Google Analytics. На сайте есть разные события, которые были правильно отслежены в первом профиле. Но ... я хотел бы, чтобы события передавались в каждую учетную запись без создания события onclick для каждого профиля.Pass _trackEvent для нескольких аналитических кодов отслеживания

<script type="text/javascript"> 
var _gaq = _gaq || []; 

_gaq.push(
    ['_setAccount', 'UA-xxxxxxx30-1'], ['_trackPageview'], ['_gat._anonymizeIp'], 
    ['b._setAccount', 'UA-xxxxxxx33-1'], ['_trackPageview'], ['_gat._anonymizeIp'], 
    ['c._setAccount', 'UA-xxxxxxx76-1'], ['_trackPageview'], ['_gat._anonymizeIp'] 
); 


(function() { 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})(); 

Спасибо за вашу поддержку Майк

ответ

0

Во-первых, фрагмент кода вставили не является правильным. Вызов _trackPageview, который следует за каждым трекером, будет запускать _trackPageview только для первого объекта трекера. Кроме того, ваш параметр _anonymizeIp используется неправильно, так как он должен появиться перед первым _trackPageview и применяется ко всем объектам трекера.

Исправленная синтаксис:

_gaq.push(
    ['_setAccount', 'UA-xxxxxxx30-1'], ['_gat._anonymizeIp'], ['_trackPageview'], 
    ['b._setAccount', 'UA-xxxxxxx33-1'], ['b._trackPageview'], 
    ['c._setAccount', 'UA-xxxxxxx76-1'], ['c._trackPageview'] 
); 

Для отслеживания событий, вы могли бы создать функцию, которая делает отслеживание вызова события из всех ваших трекеров в одном вызове функции. Что-то вроде:

function gaTrackEventAllTrackers(category,action,optLabel,optValue,optInteraction) { 
    _gaq.push(
     ['_trackEvent',category,action,optLabel,optValue,optInteraction], 
     ['b._trackEvent',category,action,optLabel,optValue,optInteraction], 
     ['c._trackEvent',category,action,optLabel,optValue,optInteraction] 
    ); 
} 

Тогда просто вызовите эту функцию в своем коде или на экране.

+0

Ваш отзыв с _gat._anonymizeIp был очень полезен. Я не нашел документацию в документах Google об этом. Без улучшенного кода получается абсолютное не отслеживание в любом профиле. Я проверил код с помощью виджета тестирования от Google, и файлы cookie были в порядке. Проводной ... Что касается функции, предоставление переменных для каждого профиля без создания нового trackEvent для каждой учетной записи невозможно, не так ли? Надеялся, чтобы найти более эффективное решение. Большое спасибо – mikeg

+0

Для проблемы без отслеживания я предполагаю, что вы ссылаетесь даже на просмотры страниц. Для этого дважды проверьте, что вы не отфильтровываете свой IP-адрес и т. Д. В настройках профиля. Вы также можете посмотреть функцию реального времени, чтобы увидеть, видите ли вы свои просмотры страниц. Если вы хотите поделиться своим URL-адресом, я могу дважды проверить ситуацию с точки зрения кода. Я не следую вашему комментарию о функции отслеживания событий, поэтому, если вы можете предоставить дополнительную информацию, которая будет полезна. –

+0

Проводной. Два человека реализовали точно такой же код. Первые результаты приводят к 100% -ной потере данных, второй - просто отлично. За исключением последней строки GA-String. – mikeg