Google Analyticsのイベントトラッキングでオプション指定されている部分ですが、以前は「useBeacon」がありましたが、こちらが非推奨となり、新しく「transport」が用意されました。
useBeaconをtrue指定した場合、利用ブラウザが「navigator.sendBeacon」に対応していた場合は、該当API経由でイベントが送られますが、対応していない場合は通常のイベントトラッキングがされるというものでした。
今回新しく用意された「transport」ですが、イベントトラッキングに以下のように付けて利用します。
今までの「useBeacon」は「transport : 'beacon'」に該当します。
とはいえ、このイベントトラッキングのオプションですが、何も指定しなければデフォルトで最適なものを選択してくれるものになりますので、何か特別な理由がない限り使うことも無いとは思います。
useBeacon -> transportの変更アナウンスは2週間ほど前に出ていたのですが、ちょっと気になったので調べてみました。
useBeaconをtrue指定した場合、利用ブラウザが「navigator.sendBeacon」に対応していた場合は、該当API経由でイベントが送られますが、対応していない場合は通常のイベントトラッキングがされるというものでした。
今回新しく用意された「transport」ですが、イベントトラッキングに以下のように付けて利用します。
ga('send', 'event', 'click', 'download-me', {transport: 'beacon'}); ga('send', 'event', 'click', 'download-me', {transport: 'xhr'}); ga('send', 'event', 'click', 'download-me', {transport: 'image'});
今までの「useBeacon」は「transport : 'beacon'」に該当します。
■xhr指定
テストで「xhr」をオプションで指定したところ、「ネットワーク」でtypeがxhrとしてイベントが発火しました。■image指定
image指定も問題なく、type「gif」で、長いリクエストURLの送信が確認できました。
リクエストヘッダーのAcceptは「image/webp」なんだな・・・と思いつつ、イベント送信を確認。
■beacon指定
これだけちゃんとした確認方法がわからず・・・。Chromeでのイベントリクエストで「Preview」タブを見る限り、「image」とも「xhr」とも違うデータになっているので、おそらく「navigator.sendBeacon」で投げられているとは思うのですが。
とはいえ、このイベントトラッキングのオプションですが、何も指定しなければデフォルトで最適なものを選択してくれるものになりますので、何か特別な理由がない限り使うことも無いとは思います。
useBeacon -> transportの変更アナウンスは2週間ほど前に出ていたのですが、ちょっと気になったので調べてみました。