У меня есть страница с благодарностью за электронную торговлю, которая отправляет хит ecommerce.js в Google Analytics
<script>
try{ga('require', 'ecommerce', 'ecommerce.js');
ga('ecommerce:addTransaction', {
'id': '082918-074143-128'
, 'affiliation': ''
, 'revenue': '2.09'
, 'shipping': '0.00'
, 'tax': '0.17'
});ga('ecommerce:addItem',{
'id': '082918-074143-128'
, 'sku': ''
, 'name': 'Cane Creek 1-1/8-inch Headset Shim Spacer .25mm'
, 'category': 'Bicycling Catalog > Components > Headsets'
, 'price': '1.08'
, 'quantity': '1'
});
ga('ecommerce:addItem',{
'id': '082918-074143-128'
, 'sku': ''
, 'name': 'Race Face X-Type BB Outer Race Seal Gray'
, 'category': 'Bicycling Catalog > Components > Other > Other'
, 'price': '0.84'
, 'quantity': '1'
}); ga('ecommerce:send');}catch(err){}
</script>
Я хочу изменить этот скрипт, прежде чем он отправит данные в GA, удалив первую и последнюю строки, а также изменив код, изменив строку 'ga('
на 'ga1('
так что код не будет отправлять данные в GA. и вместо этого я могу вместо этого отправить расширенную электронную коммерцию.
Я вставил следующий скрипт выше на страницу, чтобы он редактировал тег ниже на странице, но он не может редактировать тег до его запуска.
Я пробовал это:
<script>
document.addEventListener("DOMContentLoaded", function(event) {
function contains(selector, text) {
var elements = document.querySelectorAll(selector);
return [].filter.call(elements, function(element){
return RegExp(text).test(element.textContent);
});
}
function bsHit() {
gaHit = contains('script', /try\{ga\(/g);
var hit = gaHit[0].innerHTML;
var tryer = "try{ga('require', 'ecommerce', 'ecommerce.js')\;";
var hit = hit.replace(tryer, "");
lastLine = "ga('ecommerce:send');}catch(err){}";
hit = hit.replace(lastLine, "");
hit = hit.replace(/ga\(/g,"ga1\(");
console.log(hit);
}
bsHit();
}
</script>
Что мне нужно / изменить в моем коде, чтобы это произошло?
Я ценю ваше время и понимание.