googleOptimizeを用いてABテストを行いたかったのですが、
単純なページロード時にランダムにテストではなく、条件をつけたかったのでメモ。
googleOptimizeとはについてはこちらがとてもわかりやすかったです
https://webbu.jp/googleoptimize-2-3173
やりたかったこと
blogの記事カテゴリによってABテストの表示切り替えを行いたい (該当カテゴリのみBのパターンを表示、など)
実現方法
1)ソース側
サーバーサイド側で実現したい絞り込みで条件分岐させ真偽なりintなりでABテストを行うか否かのフラグを立てる
立てたフラグをscriptタグ側で表示させる
<?php
$hoge_flg = 0;
if ($category === 'hoge') {
$hoge_flg = 1;
}?>
dataLayer = [{'test': <?php echo json_encode($hoge_flg);?>}];
ただし、上の形式ではGoogleのスニペット(より上)に記載しないと取得が正常に働かない
サーバーサイド側でフラグを取得できるタイミングがより後になるのであれば
<?php
$hoge_flg = 0;
if ($category === 'hoge') {
$hoge_flg = 1;
}?>
dataLayer = dataLayer || [];
dataLayer.push({'test':<?php echo json_encode($hoge_flg); ?>});
とする必要がありそう
dataLayer = dataLayer || [];
の詳細な解説を含め、こちらを大変参考にさせていただきました
わかりやすい解説です!感謝
解決済み: GTMとデータレイヤー変数でのeコマース実装は、カグアさんのブログの通りのデータレイヤーコード書き出... - Google 広告主コミュニティ
2)GoogleOptimize側での設定
今回はデータレイヤー変数を使用
上記で呼び出したhoge_flg
を データレイヤーの変数名 と 変数名 に設定し、
if条件も任意に設定する
https://support.google.com/optimize/answer/6301794?hl=ja&ref_topic=6283433
たいした内容ではなくすみません。。もっと詳しい方の細くもお待ちしております