この記事で提案されているように、Google オプティマイズの実験を実装しました。
https://support.google.com/360suite/optimize/answer/6262084?hl=ja&ref_topic=6197443
実験を実行するように設定し、アクティベーション イベントと URL をターゲットにしました。
実験を実行したい正しい状態になったら、呼び出します
dataLayer.push({'イベント': 'optimize.activate.welcomeScreen'});
実験が実行され、シークレット Chrome ブラウザーでテストしたところ、亜種が起動したことがわかりました。そのため、プッシュが正しいイベントを最適化に送信し、DOM を期待どおりに変更していることがわかります。
しかし、[実験] ページにアクティブ ユーザーが登録済みとして表示されず、1000 ユーザーで丸一日実験を実行した後、アクティブ ユーザーが表示されません。
トラブルシューティングを行うことにしたので、開発者コンソールの [ネットワーク] タブを使用し、dataLayer 呼び出しの後に発生するデータ非相互作用イベントを調べました。それを PostMan にコピーし、Google アナリティクス パラメータ「dl」を追加して、ページの場所に設定しました。ほら、アクティブ ユーザーがすぐにオプティマイズのテスト ページに表示されます。
「dl」パラメータが追加されない理由の手がかりはありますか? ga('set','location',' http://myurl ") を実行するなど、あらゆる種類のことを試しましたが、まだ運がありません。DOM が適切にロードされていることを確認するために、dataLayer 呼び出しを setTimeOut 内にラップしました。それもうまくいきません。
完全を期すために、私の分析/最適化は次のように設定されています
私が持っている
// Optimize snippet to prevent flashing
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-XXXXXX':true});</script>
// Google Analytics snippet
<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-XXXXXX-X', 'auto');
// For Google Optimize Tracking
ga('require', 'GTM-XXXXXX');
ga('send', 'pageview', {
hitCallback: function () {
console.log("sendGAPageView: successfully sent initial pageView for location:" + location);
}});
</script>