ここでは、接客アクション内でKARTEが自動発生させるイベントをカスタムイベントとして送信する際の注意点について説明します。
概要
接客アクションでtracker.trackを使用してKARTEの自動発生イベントをカスタムイベントとして送信すると、自動発生のときとイベントのスキーマ構造が異なる場合があります。
通常、接客アクションでカスタムイベントを送信するにもあるように、自動発生イベントをカスタムイベントとして送信することは推奨しておりません。
ただし、接客アクション内のaタグ以外でもmessage_clickイベントを発生させる
のようなユースケースでは、例外的にmessage_clickイベントを接客アクション内で送信することがあります。以降では、message_clickイベントを例にとって説明します。
message_clickイベント
イベントスキーマのうち、valuesの構造が変わります。
カスタムイベントとして送信させるとき
message_clickオブジェクト配下に_systemオブジェクトが含まれます。
KARTEが自動発生させるとき
message_clickオブジェクト配下に_systemオブジェクトが含まれません。
スキーマ構造が異なることによって発生する問題
同じイベントでも発生方法によってスキーマ構造が変わります。
これによって、次のような問題が発生する場合があります。
- セグメントに合致しない
- 接客サービスが配信されない
- クエリでデータが抽出されない
campaign_idというフィールドに対してセグメントを作成している場合を例にとって説明します。
| 送信方法 | campaign_idの参照パス |
|---|---|
| カスタムイベント送信 | _system.message.campaign_id |
| KARTE自動発生 | message.campaign_id |
この違いを意識せず、「カスタムイベント送信時」のcampaign_idをセグメント条件として指定すると、「KARTE自動発生時」のcampaign_idはこの条件には該当せず、セグメントに合致しません。