Step 1 - Create your Action Source
Before you can start creating Dynamic Actions, you must create your Action Source. This provides MXO with all the relevant information about the external actions to consider displaying to customers on your Touchpoints.
Action Source Schema
In order to co-exist with existing MXO Actions, Dynamic Action sources are expected to implement a standard schema. The following attributes represent the base data schema representing possible Action and Asset combinations.
Attribute | Type | Required? | Description |
---|---|---|---|
action_id | TEXT | Y |
The unique identifier of the Action. This must be identical to the value provided for the action_name attribute. |
action_name | TEXT | Y |
The readable name of the Action. This must be identical to the value provided for the action_id attribute. |
action_proposition | TEXT | N |
The Proposition code associated with the Action. If provided, the action_proposition value must match the code of the Proposition as it exists in your configuration. |
action_priority | NUMERIC | N | Value between -100 and +100, representing the internal marketing priority of the Action. |
action_start_date | DATETIME | N | GMT timestamp representing the first date the Action is valid. |
action_end_date | DATETIME | N | GMT timestamp representing the last date the Action is valid. |
action_campaign_code | TEXT | N | The campaign code associated with the Action. |
asset_id | TEXT | Y | The unique identifier of the Asset associated with the Action. |
asset_mimetype | TEXT | Y | The media type of the Asset associated with the Action. |
asset_viewpoint | TEXT | N |
The Viewpoint associated with the Asset. Specify either a single viewpoint value OR multiple viewpoint values as a pipe-delimited list, for example, home banner|mobile mini|agent. The asset_viewpoint value must be an exact, case-sensitive, match for the name of the Viewpoint as it exists in your configuration. |
asset_content | LARGE_TEXT | N | The full content object based on the associated media type of the Asset. |
positive_response_label | TEXT | N | The readable label for a positive response. |
positive_response_target_type | TEXT | DEP |
Enumerated directive representing the navigation type when a positive response is selected. One of:
Required if a positive label is provided. |
negative_response_label | TEXT | N | The readable label for a negative response. |
negative_response_target_type | TEXT | DEP |
Enumerated directive representing the navigation type when a negative response is selected. One of:
Required if a negative label is provided. |
neutral_response_label | TEXT | N | The readable label for a neutral response. |
neutral_response_target_type | TEXT | DEP |
Enumerated directive representing the navigation type when a neutral response is selected. One of:
Required if a neutral label is provided. |
Example Datastore Configuration
{ "name": "Dynamic Actions Source", "apiName": "dynamic_actions_source", "primaryKey": "primary_key", "secondaryKey": "action_id", "definitions": [ { "name": "primary_key", "type": "TEXT" }, { "name": "action_id", "type": "TEXT" }, { "name": "action_name", "type": "TEXT" }, { "name": "action_proposition", "type": "TEXT" }, { "name": "action_priority", "type": "NUMERIC" }, { "name": "action_start_date", "type": "DATETIME" }, { "name": "action_end_date", "type": "DATETIME" }, { "name": "action_campaign_code", "type": "TEXT" }, { "name": "asset_id", "type": "TEXT" }, { "name": "asset_mimetype", "type": "TEXT" }, { "name": "asset_viewpoint", "type": "TEXT" }, { "name": "asset_content", "type": "LARGE_TEXT" }, { "name": "positive_response_label", "type": "TEXT" }, { "name": "positive_response_target_type", "type": "TEXT" }, { "name": "positive_response_target_url", "type": "TEXT" }, { "name": "negative_response_label", "type": "TEXT" }, { "name": "negative_response_target_type", "type": "TEXT" }, { "name": "negative_response_target_url", "type": "TEXT" }, { "name": "neutral_response_label", "type": "TEXT" }, { "name": "neutral_response_target_type", "type": "TEXT" }, { "name": "neutral_response_target_url", "type": "TEXT" } ] }
Supported Datastore Definition Types
The supported datastore definition types are:
- BOOLEAN
- DATETIME
- NUMERIC
- TEXT
- LARGE_TEXT
- TEXT_LIST
Example Datastore Entry
{ "action_id": "UC19 - Top Game - Masters of Valhalla", "action_name": "UC19 - Top Game - Masters of Valhalla", "action_proposition": "10001", "action_priority": 0, "asset_id": "8764a599-8e34-4d26-a3ba-8a0cc4fb6cbb", "asset_content": "{\"type\":\"topgame\",\"templateID\":\"10001\"}", "asset_viewpoint": "Lobby Hero Banner", "asset_mimetype": "application/json", "primary_key": "ActionUC19" }
Extending the Schema
Dynamic Actions provides the ability to extend the base schema with additional attributes, allowing each brand to create a unique set of information related to each Action. Extended attributes are used in both context-filtering and orchestration to drive more relevant and individualized conversations. You can view these additional Action Attributes on the Actions Attributes page, in MXO.
Example
A brand wants to drive its saturation strategy using Eligibility Rules based on data. In addition to the base schema, the following attributes are added:
Attribute | Type | Description |
---|---|---|
saturation_threshold | NUMERIC | The maximum number of times an Action can be shown to a user without a response. |
min_negative_months | NUMERIC | The minimum number of months since the last negative response before the Action may be considered for display again. |
The brand now incorporates the new attributes into an Eligibility Rule, as follows: