我在 WordPress 侧边栏小部件中使用以下代码来加载运行良好的随机广告。此代码还将展示次数发送到 Google Analytics。现在的问题是此代码向所有广告发送展示次数。不仅仅是随机加载的广告。 我已将代码粘贴到以下网址中。
<script>
var value1 = 'top_1st';
var value2 = 'top_2nd';
var value3 = 'top_3rd';
var chosenValue = Math.random() < 0.5 ? value1 : value2 : value3;
var chosenDiv = document.getElementById(chosenValue);
chosenDiv.style.display = "block";
</script>
<div id="inline" class="various2">
<div style="display: none;" id="top_1st">
<a href="http://scicom.mv" onClick="ga('send', 'event', 'TopBannerSciCom', 'click','SciComTopTuition',1.00, {'nonInteraction': 1});" ><img width="100%" style="border: 0px" src="http://ads.esfiya.com/wp-content/uploads/2015/08/tuition_top.jpg" alt="" /></a>
<img width=0 height=0 src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" onload="ga('send', 'event', 'TopBannerSciCom', 'impression','SciComTopTuition',2.00, {'nonInteraction': 1});"/>
</div>
<div style="display: none;" id="top_2nd">
<a href="http://scicom.mv" onClick="ga('send', 'event', 'TopBannerSciCom', 'click','SciComTopEng',1.00, {'nonInteraction': 1});" ><img width="100%" style="border: 0px" src="http://ads.esfiya.com/wp-content/uploads/2015/08/eng_top.jpg" alt="" /></a>
<img width=0 height=0 src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" onload="ga('send', 'event', 'TopBannerSciCom', 'impression','SciComTopEng',2.00, {'nonInteraction': 1});"/>
</div>
<div style="display: none;" id="top_3rd">
<a href="http://scicom.mv" onClick="ga('send', 'event', 'TopBannerAdHere', 'click','TopAdHere',1.00, {'nonInteraction': 1});" ><img width="100%" style="border: 0px" src="http://ads.esfiya.com/wp-content/uploads/2015/04/ad-here-red700x140.jpg" alt="" /></a>
<img width=0 height=0 src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" onload="ga('send', 'event', 'TopBannerAdHere', 'impression','TopAdHere',2.00, {'nonInteraction': 1});"/>
</div>
</div>
最佳答案
展示次数
您的所有广告均已加载,因此所有三个 onload 脚本都会生效。它们只是不可见,因为 display: none。
您必须仅针对所需的广告攻击此印象事件。
三元运算符
Math.random() < 0.5 ? value1 : value2 : value3;
试试这个:
var options = ['top_1st','top_2nd','top_3rd'];
var chosenValue = options[Math.floor(Math.random()*options.length)];
onclick 上的非交互标志
为什么在 onclick 事件上使用非交互标志?这是用户交互,所以它是交互事件。
onClick="ga('send', 'event', 'TopBannerSciCom', 'click','SciComTopEng',1.00);"
关于javascript - Google Analytics 错误的事件报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025732/