From 494c8aebb0aef93e569dec425d6c9f050a0a3b66 Mon Sep 17 00:00:00 2001 From: Lydia Xie Date: Wed, 10 Aug 2022 15:46:00 -0700 Subject: [PATCH 1/7] BD-1494 initial edits --- .../custom_data/custom_events.md | 29 ++++++++++++--- .../custom_data/purchase_events.md | 29 ++++++++++----- .../canvas/canvas_components/message_step.md | 26 ++++++++++---- ...anvas_entry_properties_event_properties.md | 35 +++++++++++++++++++ .../canvas/create_a_canvas/create_a_canvas.md | 14 ++++---- .../liquid/supported_personalization_tags.md | 1 + 6 files changed, 108 insertions(+), 26 deletions(-) create mode 100644 _docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md diff --git a/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md b/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md index 4fc76e2e03b..e06f68089c5 100644 --- a/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md +++ b/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md @@ -111,15 +111,34 @@ When making API calls and using the "is blank" filter, a specific custom event p In regards to subscription usage, custom event properties enabled for segmentation with the filters `X Custom Event Property in Y Days` or `X Purchase Property in Y Days` are all counted as separate data points in addition to the data point counted by the custom event itself. -### Canvas guidelines +### Canvas entry properties and event properties -#### Original workflow +You can leverage `canvas_entry_properties` and `event_properties` in your Canvas user journeys. Check out [Canvas entry properties and event properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties/) for more information and examples. -Event properties can only be used in an action-based Canvas step using the original workflow. +{% tabs local %} +{% tab Canvas Entry Properties %} + +[`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. -#### Canvas Flow +{% raw %} +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. +{% endraw %} -Custom event and purchase event properties can be used in Liquid in any [Message]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/) step that follows an [Action Paths]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/) step. Make sure to use `` {% raw %} {{event_properties.${property_name}}} {% endraw %}`` if referencing these event properties in Canvas Flow. For more details, check out [Event properties in Message steps]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/#event-properties). +For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. + +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. + +{% endtab %} + +{% tab Custom Event Properties %} +[Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. + +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. + +In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. + +{% endtab %} +{% endtabs %} ### Nested objects {#nested-objects} diff --git a/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md b/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md index 4c6b5db0ebc..a66438834fa 100644 --- a/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md +++ b/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md @@ -91,24 +91,35 @@ These segmentation filters include: Unlike with [segment extensions]({{site.baseurl}}/user_guide/engagement_tools/segments/segment_extension/), segments used are updated in real-time, support an unlimited amount of segments, offer a look back history of at most 30 days, and incur data points. Because of the additional data point charge, you must reach out to your CSM to get event properties turned on for your custom events. Once approved, additional properties can be added in the dashboard under **Manage Settings > Custom Events > Mangage Properties** and used in the target step of the campaign or Canvas builder. -### Referencing purchase event properties with Liquid +### Canvas entry properties and event properties -When you send through purchase data that includes purchase properties, you can use the `event_properties` tag to reference the purchase properties in your channel messaging. +You can leverage `canvas_entry_properties` and `event_properties` in your Canvas user journeys. Check out [Canvas entry properties and event properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties/) for more information and examples. -{% raw %} +{% tabs local %} +{% tab Canvas Entry Properties %} -```liquid -{{event_properties.${your_custom_event_property}}} -``` +[`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. +{% raw %} +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. {% endraw %} -For example, to reference the name of a product, replace `your_custom_event_property` with the `product_id`. +For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. + +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. + +{% endtab %} + +{% tab Custom Event Properties %} +[Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. + +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. +In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. -#### Canvas Flow +{% endtab %} +{% endtabs %} -Custom event and purchase event properties can be used in Liquid in any [Message]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/) step that follows an [Action Paths]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/) step. Make sure to use `` {% raw %} {{event_properties.${property_name}}} {% endraw %}`` if referencing these event properties in Canvas Flow. For more details, check out [Event properties in Message steps]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/#event-properties). [1]: {% image_buster /assets/img/purchase1.png %} [2]: {% image_buster /assets/img/purchase2.png %} diff --git a/_docs/_user_guide/engagement_tools/canvas/canvas_components/message_step.md b/_docs/_user_guide/engagement_tools/canvas/canvas_components/message_step.md index 3a6cf899709..f3fd9ae4eb6 100644 --- a/_docs/_user_guide/engagement_tools/canvas/canvas_components/message_step.md +++ b/_docs/_user_guide/engagement_tools/canvas/canvas_components/message_step.md @@ -41,25 +41,39 @@ Delivery validations provide an additional check to confirm your audience meets ### Canvas entry properties -Canvas entry properties are properties from the event that triggered the Canvas. These entry properties can only be used in the first full step of a Canvas using the original workflow. +`canvas_entry_properties` are properties from the event that triggered the Canvas. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. -Conversely, in Canvas Flow, you can leverage [persistent entry properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/) in any Message step to guide your users through personalized steps throughout your Canvas workflow. +#### Original workflow + +For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first Full Step of a Canvas. + +#### Canvas Flow + +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. + +You can also leverage [persistent entry properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/) in any Message step to guide your users through personalized steps throughout your Canvas workflow. + +{% raw %} +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. +{% endraw %} ### Event properties #### Original workflow -Event properties can only be used in any action-based Canvas step using the original workflow. +`event_properties` can only be used in any action-based Canvas step using the original workflow. #### Canvas Flow {% alert important %} -Event properties cannot be used independently of Action Paths for Canvas Flow. +`event_properties` cannot be used independently of Action Paths for Canvas Flow. {% endalert %} -In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an [Action Paths]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/) step. For Canvas Flow, make sure to use `` {% raw %} {{event_properties.${property_name}}} {% endraw %}`` if referencing these event properties. These events must be custom events or purchase events to be used this way in the Message component. +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an [Action Paths]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/) step. For Canvas Flow, make sure to use `` {% raw %} {{event_properties.${property_name}}} {% endraw %}`` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. + +In the first Message step following an Action Path, you can use `event_properties` related to the event referenced in that Action Path. These `event_properties` can only be used if the user actually took the action (didn't go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. -In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn't go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. +For more information and examples, check out [Canvas entry properties and event properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties/). ## Analytics diff --git a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md new file mode 100644 index 00000000000..87fffcacdf3 --- /dev/null +++ b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md @@ -0,0 +1,35 @@ +--- +nav_title: Canvas Entry Properties and Event Properties +article_title: Canvas Entry Properties and Event Properties +page_type: reference +description: "This reference article describes the differences between Canvas entry properties and event properties, and when to use each property." +tool: Canvas +page_order: 8 +--- + +# Canvas entry properties and event properties + +> This reference article covers information about `canvas_entry_properties` and `event_properties`, including when to use each property and the differences in behavior. + +Though similar in name, Canvas entry properties and event properties function differently within your Canvas workflows. Properties of events or API calls that trigger a user's entry into a Canvas are known as `canvas_entry_properties`. An example of a `canvas_entry_properties` is **EXAMPLE**. Properties of events that occur as a user moves through a Canvas journey are known as `event_properties`. The key difference here is `canvas_entry_properties` focus on properties of events that trigger a Canvas. + +Note that behavior can vary across workflows built with the original Canvas editor or with Canvas Flow. For example, in the original Canvas editor, you can use `event_properties` in the first Full Step if it's an action-based step. In Canvas Flow, Full Steps aren't supported, so this does not apply. + +Check out this table for a brief summary of differences between `canvas_entry_properties` and `event_properties`. + +| | Canvas Entry Properties | Event Properties +|----|----|----| +| Liquid | `canvas_entry_properties` | `event_properties` | +| Persistence | Can be referenced by all [Message][1] steps for the duration of a Canvas. | - Can only be referenced once.
- Cannot be referenced by any subsequent Message steps. | +| Original Canvas workflow | Can only reference `canvas_entry_properties` in the first Full Step of a Canvas. The Canvas must be action-based or API triggered. | You can reference `event_properties` in any Full Step that uses action-based delivery in a Canvas. However, if a user is using a [Canvas component][2] in the original Canvas editor, the behavior follows the Canvas Flow rules for `event_properties`. | +| Canvas Flow | Can reference `custom_entry_properties` in any step of a Canvas. | - Can reference `event_properties` in the first Message step **after** an [Action Paths][3] step where the action taken is a custom event or purchase event.
- Cannot be after the Everyone Else path of the Action Paths step.
- Can have other non-Message Canvas components in between the Action Path and Message Step. If one of these non-Message Canvas components is an Action Paths step, the user can go through that Action Paths' Everyone Else path. | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3} + +## Examples + + + + +[1]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/ +[2]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/ +[3]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/ \ No newline at end of file diff --git a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md index f2bbf822c48..b7855ecdf96 100644 --- a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md +++ b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md @@ -292,28 +292,30 @@ Click **Done** once you've finished configuring your Canvas component. {% tabs local %} {% tab Canvas Entry Properties %} -[Canvas entry properties]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you when triggering or scheduling a Canvas via the API. Note that the Canvas entry properties object has a maximum size limit of 50 KB. +[`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. {% raw %} For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. {% endraw %} -For the Canvases built with the original editor, entry properties can be referenced only in the first full step of a Canvas. +For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. -For Canvas Flow messaging, entry properties can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these Canvas entry properties. Note that the events must be custom events or purchase events to be used this way. +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. {% endtab %} {% tab Custom Event Properties %} -[Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases, used mainly in action-based delivery campaigns. +[Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. -For the original Canvas editor, event properties don’t persist, so if you are scheduling a Canvas step rather than using action-based delivery, you wouldn’t be able to use an event property (as we don’t store that data). You can’t reference the event property for an event that’s already happened. This means that custom event properties can only be referenced in the first step of a Canvas. Make sure to use ``{% raw %} {{canvas_entry_properties.${property_name}}} {% endraw %}`` if referencing event properties in the first step. +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. -For Canvas Flow messaging, action-based delivery event properties that trigger Canvas entry are not ephemeral, and can be used in Liquid in any [Message]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/) step. Be sure to use ``{% raw %} {{event_properties.${property_name}}} {% endraw %}`` if referencing these Canvas entry properties. Check out how to use [custom event properties in Message steps]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/#event-properties). +In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. {% endtab %} {% endtabs %} +For more information and examples, check out [Canvas entry properties and event properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties/). + {% alert tip %} Did you know you can include Canvas component names in your messages and link templates?
Use the `campaign.${name}` Liquid tag in Canvas to display the current Canvas component name. diff --git a/_docs/_user_guide/personalization_and_dynamic_content/liquid/supported_personalization_tags.md b/_docs/_user_guide/personalization_and_dynamic_content/liquid/supported_personalization_tags.md index 8d1c51410f8..6f2fc6a0c91 100644 --- a/_docs/_user_guide/personalization_and_dynamic_content/liquid/supported_personalization_tags.md +++ b/_docs/_user_guide/personalization_and_dynamic_content/liquid/supported_personalization_tags.md @@ -24,6 +24,7 @@ As a convenience, a summary of supported personalization tags are provided. For | Card Attributes | `{{card.${api_id}}}`
`{{card.${name}}}` | | Geofencing Events | `{{event_properties.${geofence_name}}}`
`{{event_properties.${geofence_set_name}}}` | | Event Properties
(These are custom to your app group.)| `{{event_properties.${your_custom_event_property}}}` | +| Canvas Entry Properties| `{{canvas_entry_properties}}` | | Custom Attributes
(These are custom to your app group.) | `{{custom_attribute.${your_custom_attribute}}}` | {: .reset-td-br-1 .reset-td-br-2} From 05ea41c66629e06448e337a25cf41c7107ffb772 Mon Sep 17 00:00:00 2001 From: Lydia Xie Date: Thu, 11 Aug 2022 10:53:57 -0700 Subject: [PATCH 2/7] Add example and edits --- .../custom_data/custom_events.md | 8 ++++-- .../custom_data/purchase_events.md | 6 ++-- ...anvas_entry_properties_event_properties.md | 26 ++++++++++++++---- .../canvas/create_a_canvas/create_a_canvas.md | 6 ++-- .../img_archive/canvas_entry_properties1.png | Bin 0 -> 52782 bytes .../img_archive/canvas_entry_properties2.png | Bin 0 -> 34989 bytes 6 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 assets/img_archive/canvas_entry_properties1.png create mode 100644 assets/img_archive/canvas_entry_properties2.png diff --git a/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md b/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md index e06f68089c5..a2f7e3106f9 100644 --- a/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md +++ b/_docs/_user_guide/data_and_analytics/custom_data/custom_events.md @@ -121,19 +121,21 @@ You can leverage `canvas_entry_properties` and `event_properties` in your Canvas [`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. {% raw %} -For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid ``{{canvas_entry_properties.${product_name}}}``. {% endraw %} For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. -For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use {% raw %} ``canvas_entry_properties${property_name}`` {% endraw %} if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. {% endtab %} {% tab Custom Event Properties %} [Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. -In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. +{% raw %} +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use ``{{event_properties.${property_name}}}`` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. +{% endraw %} In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. diff --git a/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md b/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md index df485886d91..7888454220b 100644 --- a/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md +++ b/_docs/_user_guide/data_and_analytics/custom_data/purchase_events.md @@ -101,19 +101,19 @@ You can leverage `canvas_entry_properties` and `event_properties` in your Canvas [`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. {% raw %} -For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid ``{{canvas_entry_properties.${product_name}}}``. {% endraw %} For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. -For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. +For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use {% raw %} ``canvas_entry_properties${property_name}`` {% endraw %} if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. {% endtab %} {% tab Custom Event Properties %} [Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. -In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use {% raw %} ``{{event_properties.${property_name}}}``{% endraw %} if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. In the first Message step following an Action Path, you can use `event_properties` related to the event referenced in that Action Path. These `event_properties` can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. diff --git a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md index 87fffcacdf3..a923efb2f1e 100644 --- a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md +++ b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/canvas_entry_properties_event_properties.md @@ -11,25 +11,39 @@ page_order: 8 > This reference article covers information about `canvas_entry_properties` and `event_properties`, including when to use each property and the differences in behavior. -Though similar in name, Canvas entry properties and event properties function differently within your Canvas workflows. Properties of events or API calls that trigger a user's entry into a Canvas are known as `canvas_entry_properties`. An example of a `canvas_entry_properties` is **EXAMPLE**. Properties of events that occur as a user moves through a Canvas journey are known as `event_properties`. The key difference here is `canvas_entry_properties` focus on properties of events that trigger a Canvas. +Though similar in name, Canvas entry properties and event properties function differently within your Canvas workflows. Properties of events or API calls that trigger a user's entry into a Canvas are known as `canvas_entry_properties`. Properties of events that occur as a user moves through a Canvas journey are known as `event_properties`. The key difference here is `canvas_entry_properties` focus on properties of events that trigger a Canvas. Note that behavior can vary across workflows built with the original Canvas editor or with Canvas Flow. For example, in the original Canvas editor, you can use `event_properties` in the first Full Step if it's an action-based step. In Canvas Flow, Full Steps aren't supported, so this does not apply. -Check out this table for a brief summary of differences between `canvas_entry_properties` and `event_properties`. +Check out this table for a summary of differences between `canvas_entry_properties` and `event_properties`. | | Canvas Entry Properties | Event Properties |----|----|----| | Liquid | `canvas_entry_properties` | `event_properties` | | Persistence | Can be referenced by all [Message][1] steps for the duration of a Canvas. | - Can only be referenced once.
- Cannot be referenced by any subsequent Message steps. | -| Original Canvas workflow | Can only reference `canvas_entry_properties` in the first Full Step of a Canvas. The Canvas must be action-based or API triggered. | You can reference `event_properties` in any Full Step that uses action-based delivery in a Canvas. However, if a user is using a [Canvas component][2] in the original Canvas editor, the behavior follows the Canvas Flow rules for `event_properties`. | -| Canvas Flow | Can reference `custom_entry_properties` in any step of a Canvas. | - Can reference `event_properties` in the first Message step **after** an [Action Paths][3] step where the action taken is a custom event or purchase event.
- Cannot be after the Everyone Else path of the Action Paths step.
- Can have other non-Message Canvas components in between the Action Path and Message Step. If one of these non-Message Canvas components is an Action Paths step, the user can go through that Action Paths' Everyone Else path. | +| Original Canvas behavior | Can only reference `canvas_entry_properties` in the first Full Step of a Canvas. The Canvas must be action-based or API triggered. | You can reference `event_properties` in any Full Step that uses action-based delivery in a Canvas. However, if a user is using a [Canvas component][2] in the original Canvas editor, the behavior follows the Canvas Flow rules for `event_properties`. | +| Canvas Flow behavior | Can reference `custom_entry_properties` in any step of a Canvas. | - Can reference `event_properties` in the first Message step **after** an [Action Paths][3] step where the action taken is a custom event or purchase event.
- Cannot be after the Everyone Else path of the Action Paths step.
- Can have other non-Message Canvas components in between the Action Path and Message Step. If one of these non-Message Canvas components is an Action Paths step, the user can go through that Action Paths' Everyone Else path. | {: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3} -## Examples +## Example +![][7]{: style="float:right;max-width:30%;margin-left:15px;"} +Here's an example that explains behavior for `canvas_entry_properties` and `event_properties` in Canvas Flow. Let's say we have an action-based Canvas. In this scenario, users will enter this Canvas if they perform the custom event "add item to wishlist". +The `canvas_entry_properties` are configured in the [Entry Schedule][4] step of creating a Canvas and will indicate the trigger that enters a user into a Canvas. These `canvas_entry_properties` can also be referenced in any Message step using [persistent entry properties][5]. + +In this Canvas, we have a user journey that begins at an Action Paths step to determine if a user has added an item to their wishlist. From here, if the user has added an item, then they will experience a delay before receiving a message "New item in your wishlist!" from the Message step. The first Message step in a user journey will have access to the custom `event_properties` from your Action Paths step, so in this case, we're able to include `` {% raw %} {{event_properties.${property_name}}} {% endraw %}`` here in this Message step as part of our message content. + +If a user doesn't add an item to their wishlist, they go through the Everyone Else path, so the `event_properties` can't be referenced and will reflect an invalid settings error. + +Note that you'll still have access to `event_properties` if your Message step is connected to the non-Everyone Else path of an Action Paths step. If the Message Step is connected to an Everyone Else path but can be traced back to an Action Paths step, then you will also still have access to `event_properties`. For more information on these behaviors, check out [Message][8]. [1]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/ [2]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/ -[3]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/ \ No newline at end of file +[3]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/ +[4]: ({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas/#step-2b-set-your-canvas-entry-schedule) +[5]: ({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/ +[6]: {% image_buster /assets/img_archive/canvas_entry_properties1.png %} +[7]: {% image_buster /assets/img_archive/canvas_entry_properties2.png %} +[8]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/ \ No newline at end of file diff --git a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md index b7855ecdf96..4ea7bf33615 100644 --- a/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md +++ b/_docs/_user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas.md @@ -295,19 +295,19 @@ Click **Done** once you've finished configuring your Canvas component. [`canvas_entry_properties`]({{site.baseurl}}/api/objects_filters/canvas_entry_properties_object/) are the properties mapped by you for Canvases that are action-based or API triggered. Note that the `canvas_entry_properties` object has a maximum size limit of 50 KB. {% raw %} -For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid `{{canvas_entry_properties.${product_name}}}`. +For example, a request with `\"canvas_entry_properties\" : {\"product_name\" : \"shoes\", \"product_price\" : 79.99}` could add the word \"shoes\" to a message by adding the Liquid ``{{canvas_entry_properties.${product_name}}}``. {% endraw %} For the Canvases built with the original editor, `canvas_entry_properties` can be referenced only in the first full step of a Canvas. -For Canvas Flow messaging, `canvas_entry_properties` can be used in Liquid in any Message step. So, be sure to use ``{% raw %} canvas_entry_properties${property_name} {% endraw %}`` if referencing these `canvas_entry_properties`. Note that the events must be custom events or purchase events to be used this way. +For Canvas Flow messaging, entry properties can be used in Liquid in any Message step. So, be sure to use {% raw %} ``canvas_entry_properties${property_name}`` {% endraw %} if referencing these Canvas entry properties. Note that the events must be custom events or purchase events to be used this way. {% endtab %} {% tab Custom Event Properties %} [Custom event properties]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events/#custom-event-properties) are the properties set by you on custom events and purchases. These `event_properties` can be used in campaigns with action-based delivery as well as Canvases. -In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use `{{event_properties.${property_name}}}` if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. +In Canvas Flow, custom event and purchase event properties can be used in Liquid in any Message step that follows an Action Paths step. For Canvas Flow, make sure to use {% raw %} ``{{event_properties.${property_name}}}`` {% endraw %} if referencing these `event_properties`. These events must be custom events or purchase events to be used this way in the Message component. In the first Message step following an Action Path, you can use event properties related to the event referenced in that Action Path. These event properties can only be used if the user actually took the action (didn’t go to the Everyone Else group). You can have other steps (that are not another Action Paths or Message step) in between this Action Paths and the Message step. diff --git a/assets/img_archive/canvas_entry_properties1.png b/assets/img_archive/canvas_entry_properties1.png new file mode 100644 index 0000000000000000000000000000000000000000..07e9a79efa165d957f3e39c27d1e998a2d6506ab GIT binary patch literal 52782 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 z

s`#nUF7CkOI#!{~Tk!ONwBvNj0uPBYQZ_@D1#m$_Y(yhe*Y