2016-04-06 2 views
0

Давайте сделаем вид, что у меня есть сайт, размещенный на app.com. Мой сайт опубликован на другом веб-сайте, размещенном на platform.com через iframe.analytics.js: Отслеживание веб-сайта, помещенного в iframe в другом домене

<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> 

Проблема заключается в том, что я могу видеть запросы диспетчерские к google-analytics.com/collect, но никакие данные фактически не представлены отчеты Google Analytics.

enter image description here

Я проверил фильтры в GA Admin, и нет ни одного. Я думаю, что проблема связана с текущим доменом и несоответствием домена источника запроса, но я не могу понять, что я действительно могу сделать, чтобы решить эту проблему.

Как вы понимаете, у меня нет доступа к коду platform.com, все, что я могу манипулировать, - это код внутри iframe.

Я использовал эти источники:

About GA cross-domain tracking

About GA cookies

ответ

0

Если вы не имеете контроля над родителем, вы не можете отслеживать взаимодействие в родительском (вы должны реализовать интерфейс PostMessage и что потребует от вас вставить функцию в платформу.com).

Однако не должен быть никаких проблем с отслеживанием взаимодействий внутри самого фрейма (нотабене Я уверен, что код GA на самом деле в исходном коде страницы фреймов, не буквально вставленной между тегами Iframe).

Не имеет смысла использовать параметры cookieDomain.auto и storage: none, поскольку они являются взаимоисключающими (cookieDomain: auto указывает ga-объекту на использование текущего «основного» домена в качестве домена cookie, хранилище: none говорит ga не использовать хранилище, как файлы cookie, в любом случае вы отправляете свой собственный идентификатор клиента, и вам не нужны файлы cookie).

Я предлагаю использовать расширение отладчика ga (доступно как минимум для хром), а также для проверки вашей учетной записи для фильтров. Обычно GA отказывается отправлять что-либо, если есть ошибка, поэтому проблема может быть очень хорошо на принимающей стороне.

+0

Да, я просто хочу отслеживать взаимодействия внутри iframe. Я удалил параметр cookieDomain, но эффект тот же. Я проверил панель GA Admin для фильтров, и их нет. В консоли нет ошибок, и запросы отправляются без каких-либо проблем, но я все равно проверю расширение отладчика. Благодарю. – Cubius

+0

Просто, чтобы исключить тривиальность, вы проверили отчеты в реальном времени или подождали несколько часов до того, как вы проверили (есть задержка из-за времени обработки)? –

+0

Я проверяю отчеты в реальном времени для определенного события. Когда я открываю свой сайт напрямую (без iframe), событие появляется в отчетах. Но когда я открываю его через iframe 'platform.com', в отчетах ничего не появляется. – Cubius

Смежные вопросы