Данная статья будет вам полезна, если вы используете старый насайтовый счетчик analytics.js и при этом хотите настроить сбор данных с помощью OWOX BI. Ниже вы найдете два способа интеграции кода OWOX BI в код analytics.js.
Обратите внимание!Новый тип счетчика Global Site Tag (gtag.js) не поддерживает запуск сторонних скриптов. Поэтому внедрение кода отслеживания OWOX BI в код gtag.js невозможно.
В этом случае мы рекомендуем внедрить код отслеживания OWOX BI через Google Tag Manager, следуя данной инструкции.
Перед внедрением кода отслеживания, рекомендуем проверить настройки Content Security Policy вашего веб-сайта.
Для корректной работы кода OWOX BI, в HTTP-заголовок Content-Security-Policy необходимо добавить директиву script-src
с ключевыми словами unsafe-eval
и unsafe-inline
и указанием точки доступа OWOX BI в следующем виде:script-src 'unsafe-eval' 'unsafe-inline' https://google-analytics.bi.owox.com/
.
Такая запись означает, что вы определяете точку доступа OWOX BI как безопасный источник и позволяете использовать на своем веб-сайте встроенные скрипты и динамическую оценку кода из этого источника. Внесение указанных директив в Content Security Policy вашего веб-сайта является обязательным для корректной работы кода отслеживания.
Стандартные способы настройки сбора данных с веб-сайта
Способ 1: Собирать данные одновременно в Google BigQuery и в Google Analytics
Код OWOX BI будет отправлять данные о поведении пользователей в Google BigQuery, а код отслеживания Google Analytics — в Google Analytics.
Для этого на каждой странице сайта, где есть код отслеживания Google Analytics, добавьте такие куски кода:
1. После инициализации трекера Google Analytics (строка ga('create', 'UA-... );
) добавьте:
// Connecting OWOX BI Streaming plugin to the tracker
ga('require', 'OWOXBIStreaming');
2. После строки ga('send', 'pageview');
добавьте:
// OWOX BI Streaming plugin code(function(){function f(g){var c=g.get("sendHitTask"),f=function(){function e(b){var a=!1;try{var d=document.createElement("img");d.src=c(!0)+"?"+b;a=!0}catch(h){}return a}function c(b){var a="https://google-analytics.bi.owox.com/"+encodeURIComponent(g.get("trackingId"));b||(a+="?tid="+encodeURIComponent(g.get("trackingId")));return a}return{send:function(b){var a;if(!(a=2036>=b.length&&e(b))){a=!1;try{a=navigator.sendBeacon&&navigator.sendBeacon(c(),b)}catch(h){}}if(!a){a=!1;var d;try{window.XMLHttpRequest&&"withCredentials"in(d=
new XMLHttpRequest)&&(d.open("POST",c(),!0),d.setRequestHeader("Content-Type","text/plain"),d.send(b),a=!0)}catch(h){}}return a||e(b)}}}();g.set("sendHitTask",function(e){try{c(e)}catch(k){}f.send(e.get("hitPayload"))})}var c=window[window.GoogleAnalyticsObject||"ga"];c&&c("provide","OWOXBIStreaming",f)})();
Способ 2: Собирать данные только в BigQuery и блокировать их отправку Google Analytics
Это может быть полезным, если вы хотите избежать превышения лимитов Google Analytics или ваш сайт генерирует больше хитов, чем может принять Google Analytics и вы не хотите собирать в Google Analytics неполные данные.
Для этого на каждой странице сайта, где есть код отслеживания Google Analytics, добавьте такие куски кода:
1. После инициализации трекера Google Analytics (строка ga('create', 'UA-... );
) добавьте:
// Connecting OWOX BI Streaming plugin to the tracker
ga('require', 'OWOXBIStreaming');
2. После строки ga('send', 'pageview');
добавьте:
// OWOX BI Streaming plugin code(function(){function f(g){var c=g.get("sendHitTask"),f=function(){function e(b){var a=!1;try{var d=document.createElement("img");d.src=c(!0)+"?"+b;a=!0}catch(h){}return a}function c(b){var a="https://google-analytics.bi.owox.com/"+encodeURIComponent(g.get("trackingId"));b||(a+="?tid="+encodeURIComponent(g.get("trackingId")));return a}return{send:function(b){var a;if(!(a=2036>=b.length&&e(b))){a=!1;try{a=navigator.sendBeacon&&navigator.sendBeacon(c(),b)}catch(h){}}if(!a){a=!1;var d;try{window.XMLHttpRequest&&"withCredentials"in(d=
new XMLHttpRequest)&&(d.open("POST",c(),!0),d.setRequestHeader("Content-Type","text/plain"),d.send(b),a=!0)}catch(h){}}return a||e(b)}}}();g.set("sendHitTask",function(e){f.send(e.get("hitPayload"))})}var c=window[window.GoogleAnalyticsObject||"ga"];c&&c("provide","OWOXBIStreaming",f)})();
Настройка сбора данных с веб-сайта при использовании нескольких трекеров Google Analytics
Если вы используете несколько трекеров Google Analytics на одной странице, присвойте название тому из них, на который хотите установить OWOX BI Pipeline, и внесите соответствующие изменения в код отслеживания OWOX BI. Например, если имя трекера 'owox', укажите:
ga('owox.require', 'OWOXBIStreaming');
вместоga('require', 'OWOXBIStreaming');
;ga('owox.send', 'pageview');
вместоga('send', 'pageview');
.
Пример кода:
<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXX', 'auto'); ga('send', 'pageview'); </script>
<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXX', 'auto', 'owox');
// Connecting OWOX BI Streaming plugin to the tracker
ga('owox.require', 'OWOXBIStreaming'); ga('owox.send', 'pageview');
// OWOX BI Streaming plugin code
(function(){function f(g){var c=g.get("sendHitTask"),f=function(){function e(b){var a=!1;try{var d=document.createElement("img");d.src=c(!0)+"?"+b;a=!0}catch(h){}return a}function c(b){var a="https://google-analytics.bi.owox.com/"+encodeURIComponent(g.get("trackingId"));b||(a+="?tid="+encodeURIComponent(g.get("trackingId")));return a}return{send:function(b){var a;if(!(a=2036>=b.length&&e(b))){a=!1;try{a=navigator.sendBeacon&&navigator.sendBeacon(c(),b)}catch(h){}}if(!a){a=!1;var d;try{window.XMLHttpRequest&&"withCredentials"in(d=new XMLHttpRequest)&&(d.open("POST",c(),!0),d.setRequestHeader("Content-Type","text/plain"),d.send(b),a=!0)}catch(h){}}return a||e(b)}}}();g.set("sendHitTask",function(e){f.send(e.get("hitPayload"))})}var c=window[window.GoogleAnalyticsObject||"ga"];c&&c("provide","OWOXBIStreaming",f)})(); </script>
0 Комментарии