タグから送られるイベントの欠損を減らすための「送信待ちイベントデータのキューイング」という仕様について説明します。
概要
KARTEの計測タグは、「送信待ちイベントデータのキューイング」という仕様によって、ユーザータグやカスタムイベントタグによるイベント送信の失敗時にイベント再送処理を行うことがあります。
- ユーザータグやカスタムイベントタグ (
krt('send', 'イベント名')
) でイベントを発生させた場合、何らかの理由でイベント送信に失敗しても、次のPV時にイベントの再送処理が実施されます - 特に、ページ遷移を伴うリンククリックをイベント取得する場合、イベント送信処理がページ遷移処理によってキャンセルされても、次に計測タグが読み込まれたタイミングでそのクリック時イベントが再送されます
注意点
- イベントが100%欠損しないことを保証する機能ではありません
- イベントが再送された場合のイベントの送信日時 (
date
) は、タグが実行された日時ではなく、実際にイベントがKARTE側に到達した時刻になりますlocal_date
: タグが実行された日時date
: 実際にイベントがKARTE側に到達した時刻
仕様詳細
ユーザータグやカスタムイベントタグで送信するイベントデータは、ブラウザのlocalStorage内に「送信待ちイベントデータ」としてキューイングされます。
- 処理の流れ(buyイベントを送信する場合の例)
- ページ上で
krt('send', 'buy', { revenue: 1000 })
といったタグが実行される - イベント名(
buy
)やフィールド情報({revenue: 1000}
)がlocalStorageに一時保存される - 同一PV内で送信処理まで完了する場合
- 同一PV内で、localStorageに保存されたbuyイベントがKARTEに送信され、localStorageに一時保存されたデータが削除される
- 同一PV内で送信処理まで完了しなかった場合
- 次PVで、localStorageに保存されたbuyイベントがKARTEに送信され、localStorageに一時保存されたデータが削除される
- ページ上で