同期タグについて
VWOでは、様々なブラウザの仕様変化に対応するため、新しいVWOタグをご用意しました。
VWO上での SETTINGS > SMARTCODE > SYNCHRONOUS のタブから見られます。VWOプラットフォームの全ての製品 (Insights、Testing、Engage など) で使用可能です。
サンプル同期タグ
<!-- VWO One Smartcode (<ACCOUNTID>をアカウント番号に変更してください) -->
<script src = "https://dev.visualwebsiteoptimizer.com/lib/<ACCOUNTID>.js"></script>
<!-- VWO One Smartcode ends -->
例えばアカウントID 45 の場合は、下記になります。
< script src = "https://dev.visualwebsiteoptimizer.com/lib/45.js" > < /script>
Attention!
一部の既存アカウントでは、3つのタグが表示されます。Sychronous (Deprecated) で表示される旧同期タグはそのままお使いいただけますが、新しい同期タグへの切替をお勧めします。
新しい同期タグの利点
Chrome のバージョン55以降では、ユーザーの接続速度が極端に遅い場合、document.write() が挿入するクロスドメインスクリプトがブロックされる可能性があります。詳しくは https://developers.google.com/web/updates/2016/08/removing-document-write (英文)をご参照ください 。
旧同期タグは document.write() を使用しているため、速度の遅いネットワークでの接続の場合にブロックされることもありました。尚、これはVWOタグの発火への影響のみで、ページの読込速度には影響しません
その他の利点
サーバーからの返答がブラウザにキャッシュされます。
次回ブラウザがサーバーにリクエストを送信すると、実際のページの内容とキャッシュされたページの内容が等しい場合は、サーバーからレスポンスコード304が送られ、ブラウザはキャッシュされた内容を表示します。内容が等しくない場合は、サーバから新しい内容が送られ、ブラウザは再びキャッシュした上で表示します。VWOのテスト設定とライブラリが一つのリクエストにまとめられ、予めロードしておくことが可能になったため、ブラウザがより速くVWOのタグを実行できるようになりました。旧同期タグでは、実行中に動的パラメータをリクエストに追加しているため、VWOの設定やライブラリの実行が遅くなることがありました。
デフォルトでSPAのページにも対応しています。
新しい同期タグの使用で考慮すべき点
新しい同期タグのコードでは、いくつかの場所で引き続き document.write() を使用しています。
プレビューモードとヒートマップの表示をスムーズにするため
複数ドメインにまたがるテストのクッキーを取得するため。document.write() がブロックされた時は、他の方法で取得されます。
同期タグのスクリプトに no-cache が付与されています。
キャンペーン設定に変更があった場合、ユーザーがサイトを訪問した時に新しい内容を取得できるようにするためです。内容がキャッシュされている場合は、キャッシュ期間内であればキャッシュから取得されますが、キャッシュ期間が切れた場合はサーバーから取得されます。
新しい同期タグの設定変更
新しい同期タグの設定の変更例を2つご紹介します。
既に設置されている jQuery を使う
仮想URLを設定する
既に設置されている jQuery を使う
既に jQuery 1.4.2 から 2.x.x までのバージョンが設置されている場合は、VWOのタグにある jQuery を使う必要はありません。現在VWOが使っているバージョンは1.4.2です。
その場合、この nojq バージョンのタグをご利用ください。
<!-- VWO One Smartcode (<ACCOUNTID>をアカウント番号に変更してください) -->
<script src = "https://dev.visualwebsiteoptimizer.com/lib/<ACCOUNTID>_nojq.js"></script>
< !--VWO One Smartcode ends -->
アカウントID 45 の場合は下記になります。
<script src = "https://dev.visualwebsiteoptimizer.com/lib/45_nojq.js"> </script>
バージョン2.x.x より新しいものを使っている場合は、VWOの jQuery が non-conflict モードで読み込まれるために、デフォルトの新しい同期タグを使う必要があります。
Attention!
元のページの jQuery を使う場合は、必ず VWOタグより前に読みこまれるよう設置してください。
仮想URLを設定する
仮想URLを設定したい場合は、このようなコードを使用します。
window.VWO = window.VWO || [];
window.VWO.push(['activate', {
virtualPageUrl: 'NEW_VIRTUAL_PAGE_URL'
}]);
仮想URLが必要な場合
共通のパターンが無いURLをもつ複数のページでキャンペーンを走らせたい場合
特定のページでキャンペーンを走らせたいが、設定したURLパターンだと含まれなくても良いページまで含まれてしまう場合。このような場合、キャンペーンに含みたいページに仮想URLを追加します。