コンテキストとイベントプロパティ
このリファレンス記事では、
contextとevent_propertiesに関する情報を取り上げます。それぞれのプロパティを使用するタイミングや動作の違いについて説明します。
カスタムイベントプロパティ全般については、カスタムイベントプロパティをご覧ください。
Canvasのエントリプロパティは、Canvasコンテキスト変数の一部です。つまり、canvas_entry_propertiesはcontextとして参照されます。各context変数には、名前、データタイプ、およびLiquidを含めることができる値が含まれます。現在、canvas_entry_propertiesは下位互換性があります。詳細については、コンテキストとCanvasコンテキストオブジェクトを参照してください。
コンテキストプロパティとイベントプロパティは、キャンバスワークフロー内で異なる動作をします。ユーザーのキャンバスへのエントリをトリガーするイベントまたは API 呼び出しのプロパティは context と呼ばれます。ユーザーがキャンバスジャーニー内を移動する際に発生するイベントのプロパティは event_properties と呼ばれます。主な違いは、context がイベントだけでなく、API トリガーキャンバスのエントリペイロードのプロパティにもアクセスできる点です。
コンテキストとイベントプロパティの違いの概要については、以下の表を参照してください。
| コンテキストプロパティ | イベントプロパティ | |
|---|---|---|
| Liquid | context |
event_properties |
| 永続性 | キャンバスを使用して構築されたキャンバスの期間中、すべてのメッセージステップで参照できます。 | - 一度だけ参照できます。 - 後続のメッセージステップでは参照できません。 |
| キャンバスの動作 | キャンバスの任意のステップで context を参照できます。起動後の動作については、起動後のキャンバスの編集を参照してください。 |
- アクションパスステップの後の最初のメッセージステップで event_properties を参照できます。ここでのアクションはカスタムイベントまたは購入イベントです。- アクションパスステップのその他のユーザーパスの後では参照できません。 - アクションパスとメッセージステップの間に、メッセージ以外のコンポーネントを配置できます。これらのメッセージ以外のコンポーネントの1つがアクションパスステップの場合、ユーザーはそのアクションパスのその他のユーザーパスを通過できます。 |
オリジナルキャンバスエディターの詳細
オリジナルエディターを使用してキャンバスを作成または複製することはできなくなりました。キャンバスコンテキストはオリジナルキャンバスエディターではサポートされていないため、このセクションは以前のキャンバスワークフローでキャンバスエントリプロパティとイベントプロパティを使用する際の参照用として提供されています。
キャンバスエントリプロパティ:
- 永続的なエントリプロパティを有効にする必要があります。
- キャンバスの最初のフルステップでのみ
canvas_entry_propertiesを参照できます。キャンバスはアクションベースまたは API トリガーである必要があります。
エントリプロパティ:
- キャンバス内でアクションベースの配信を使用する任意のフルステップで
event_propertiesを参照できます。 - アクションベースのキャンバスの最初のフルステップ以外のスケジュールされたフルステップでは使用できません。ただし、ユーザーがキャンバスコンポーネントを使用している場合、動作は
event_propertiesの現在のキャンバスワークフロールールに従います。
イベントプロパティ:
- 先頭のメッセージステップでは
event_propertiesを使用できません。代わりに、canvas_entry_propertiesを使用するか、event_propertiesを含むメッセージステップの前に対応するイベントを持つアクションパスステップを追加する必要があります。
知っておくべきこと
- コンテキストは Liquid での参照にのみ使用できます。キャンバス内のプロパティでフィルタリングするには、代わりにイベントプロパティセグメンテーションを使用してください。
- アプリ内メッセージチャネルでは、キャンバス内で
contextとevent_propertiesを参照できます。event_propertiesはトリガーベースであるため、最初のキャンバスステップに含まれている場合にアクセスできます。 - 先頭のメッセージステップでは
event_propertiesを使用できません。代わりに、contextを使用するか、event_propertiesを含むメッセージステップの前に対応するイベントを持つアクションパスステップを追加できます。 - アクションパスステップに「SMS 受信メッセージを送信」または「WhatsApp 受信メッセージを送信」トリガーが含まれている場合、後続のキャンバスステップに SMS または WhatsApp の Liquid プロパティを含めることができます。これはキャンバスでのイベントプロパティの動作と同様です。これにより、メッセージを活用してファーストパーティデータをユーザープロファイルや会話型メッセージングに保存・参照できます。
オーディエンスの適格性は、キャンバスエントリ時に一度だけ評価されます。エントリ中にユーザーがマージされた場合、識別されたユーザーはキャンバスを続行し、キャンバスのセグメント基準に対して再評価されることはありません。
トリガーのタイムスタンプ
アクションベースのキャンバスをトリガーするイベントからの日時型のタイムスタンプを使用し、コンテキストを使用して参照する場合、タイムスタンプは UTC に正規化されます。
この動作を考慮して、メッセージが希望するタイムゾーンで送信されることを保証するために、以下の例のような Liquid タイムゾーンフィルターを使用することを強くお勧めします。
1
{{context.${timestamp_property} | time_zone: "America/Los_Angeles" | date: "%H:%M" }}
例外
- キャンバスの最初のステップがメッセージステップの場合、タイムスタンプは UTC に正規化されません。
- キャンバス内の順序に関係なく、アプリ内メッセージチャネルを使用するメッセージステップでは、タイムスタンプは UTC に正規化されません。
ユースケース

context と event_properties の違いをさらに理解するために、ユーザーがカスタムイベント「ウィッシュリストにアイテムを追加」を実行した場合にアクションベースのキャンバスに入るシナリオを考えてみましょう。
コンテキストはキャンバス作成のエントリスケジュールステップで設定され、ユーザーがキャンバスに入るタイミングに対応します。コンテキストは任意のメッセージステップでも参照できます。
このキャンバスでは、ユーザーがウィッシュリストにアイテムを追加したかどうかを判定するアクションパスステップからユーザージャーニーが始まります。ここで、ユーザーがアイテムを追加した場合、遅延を経てメッセージステップから「ウィッシュリストに新しいアイテムがあります!」というメッセージを受け取ります。
ユーザージャーニーの最初のメッセージステップは、アクションパスステップからのカスタム event_properties にアクセスできます。この場合、メッセージコンテンツの一部として、このメッセージステップに {{event_properties.${property_name}}} を含めることができます。ユーザーがウィッシュリストにアイテムを追加しなかった場合、その他のユーザーパスを通過するため、event_properties は参照できず、無効な設定エラーが表示されます。
event_properties にアクセスできるのは、メッセージステップがアクションパスステップのその他のユーザー以外のパスに遡れる場合のみです。メッセージステップがその他のユーザーパスに接続されていても、ユーザージャーニー内のアクションパスステップに遡れる場合は、event_properties にアクセスできます。これらの動作の詳細については、メッセージステップを参照してください。