Movable Ink - Customer Data

What Is Movable Ink?

Movable Ink specializes in contextual email marketing solutions. It allows marketers to create dynamic, personalized content within emails based on real-time data such as location, device, and behavior. By delivering relevant and engaging content to each recipient, Movable Ink helps brands improve email engagement, drive conversions, and enhance the overall customer experience.

What are the benefits of integrating MetaRouter with Movable Ink?

  • Deliver Dynamic, Individualized Content In Real Time: Craft highly personalized content that adapts in real-time to individual user preferences, behaviors, and context. Deliver experiences that transcend generic messaging and resonate deeply with each recipient.
  • Increase Addressability Exponentially: Go beyond basic demographics and reach users based on their unique needs, interests, and behaviors. No more missed connections – speak directly to your ideal audience.
  • Boost Campaign Performance: Drive higher engagement, conversion rates, and ROI with privacy-compliant personalization.

Getting Started - From Your Movable Ink Account

  • Contact your MetaRouter Customer Experience team and request sample event payloads for every event you are planning on passing into Movable Ink.
  • Contact your Movable Ink team and let them know you are in the process of integrating with Movable Ink and send them your event payloads. Your Movable Ink will need to map these events to your Movable Ink account.
  • Your Movable Ink team will provide you with the following:
    • Endpoint
    • Access Key ID
    • Access Secret

Getting Started - From Your MetaRouter Account

Adding a Movable Ink - Customer Data integration.

From the integration library, add a Movable Ink - Customer Data integration. Then, fill out the Connection Parameters:

Connection ParameterDescription
ENDPOINTPaste just the alphanumeric string following behavioral/ of the endpoint you received.
PASSWORDPaste your access secret.
USERNAMEPaste your key ID.

Adding a Movable Ink Sync

To gather the mi_u value and persist it as the cookie, you must add a Movable Ink - Customer Data sync.

  1. From the Pipelines page, find the pipeline associated with the web property you’d like to add a sync to. Hover over the three-dot dropdown and select “Build AJS File.”
  2. In the Identity Syncs section, select the Movable Ink - Customer Data sync.
  3. Fill out the following fields:
    1. Cookie Lifetime (in days) - 370 is best practice
  4. Scroll down and click the Save and Build File button.
  5. Deploy your AJS file to propagate changes to your web property.

Event Mappings

MetaRouter provides all of the event mappings that Movable Ink integrations typically require. You may add custom events, parameters, or mappings following Movable Ink’s API documentation.

NOTE: Movable Ink will need to map every event payload onto your Movable Ink account. If you’re adding any events, please be sure to send sample payloads to your Movable Ink service team.

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
user_id
Required
Type: String
The unique identifier of the profile that triggered this event. In this integration, this is the mi_u ID.
mi_u
anonymousId
Required
Type: String
MetaRouter’s anonymous ID for user identification and attribution. This ID is set as a first-party cookie (on web), and is persisted across user sessions to serve as a consistent identifier for the user.
anonymousId
timestamp
Required
Type: Number
The time when the event occured (Unix Time).
timestamp
type
Required
Type: String
The type of event.
type
event
Required
Type: String
Designates the event sub-type.
N/A - Expression

Event Specific

NOTE: The following events are the default for easy access; however, events sent to Movable Ink are customizable. Please be sure to discuss what events you will be sending to Movable Ink with your Movable Ink rep as they will need to map every event to your account. Required parameters are only required if you’re sending the corresponding event.

identify

Output KeyDescriptionExpected Input
userId
Optional
Type: String
A User ID is a permanent value that should be unique to each user and stored in your database. We recommend generating this value via UUID-4 or deriving it from your own database. This is not the same as user_id as mentioned in Global parameters above.
userId

page

Output KeyDescriptionExpected Input
properties.title
Optional
Type: String
Page title.
properties.title
properties.url
Optional
Type: String
Page URL.
properties.url

products_searched

Output KeyDescriptionExpected Input
properties.query
Required
Type: String
Query the user searched with.
properties.query
properties.url
Optional
Type: String
The URL of the product.
context.page.url

product_list_viewed

Output KeyDescriptionExpected Input
properties.id
Required
Type: String
Product list being viewed.
properties.list_id
properties.url
Optional
Type: String
The URL of the product.
context.page.url
properties.category
Optional
Type: String
Product category being viewed.
properties.category
properties.currency
Optional
Type: String
Currency code associated with the transaction.
properties.currency
properties.products
Optional
Type: Array
An array of product parameters.
N/A - Expression

product_viewed

Output KeyDescriptionExpected Input
properties.product_id
Required
Type: String
The unique identifier of the product.
N/A - Expression
properties.sku
Optional
Type: String
SKU of the product being viewed.
properties.sku
properties.category
Optional
Type: Array
An array of Categories with which this product is associated.
properties.category
properties.currency
Optional
Type: String
Currency of the transaction.
properties.currency
properties.name
Optional
Type: String
Name of the product being viewed.
properties.name
properties.price
Optional
Type: Number
The product price.
properties.price
properties.quantity
Optional
Type: Number
Quantity of a product.
properties.quantity
properties.url
Optional
Type: String
URL of the product page.
properties.url

product_added & product_removed

Output KeyDescriptionExpected Input
properties.cart_id
Required
Type: String
Cart ID that the product was added to.
properties.cart_id
properties.product_id
Required
Type: String
Database ID of the product being viewed.
N/A - Expression
properties.sku
Optional
Type: String
SKU of the product being viewed.
properties.sku
properties.category
Optional
Type: String
Product category being viewed.
properties.category
properties.currency
Optional
Type: String
Currency of the transaction.
properties.currency
properties.name
Optional
Type: String
Name of the product being viewed.
properties.name
properties.price
Optional
Type: Number
The product price.
properties.price
properties.quantity
Optional
Type: Number
Quantity of a product.
properties.quantity
properties.url
Optional
Type: String
URL of the product page.
properties.url

cart_viewed

Output KeyDescriptionExpected Input
properties.cart_id
Required
Type: String
Cart ID that the product was added to.
properties.cart_id
properties.total
Optional
Type: Number
Revenue ($) with discounts and coupons included.
N/A - Expression
properties.currency
Optional
Type: String
Currency of the transaction.
properties.currency
properties.products
Optional
Type: Array
Products displayed in the product list.
properties.products

order_completed

Output KeyDescriptionExpected Input
properties.order_id
Required
Type: String
Order/transaction ID.
properties.cart_id
properties.total
Optional
Type: Number
Revenue ($) with discounts and coupons included.
N/A - Expression
properties.revenue
Optional
Type: Number
Revenue ($) associated with the transaction, excluding shipping and tax.
properties.revenue
properties.currency
Optional
Type: String
Currency of the transaction.
properties.currency
properties.products
Required
Type: Array
Products displayed in the product list.
properties.products

Required Identifiers

These identifiers must be mapped to Movable Ink in order for successful user matching to occur. Without these IDs, any events sent to Movable Ink will be rejected. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

AttributeExampleSync Injector Required?
mi_u
Required
?mi_u=6977481Yes
anonymousId
Required
130161d0-8fee-4167-aa4d-d151eed27c6bNo
timestamp
Required
13 number unix timestamp (1675795062761)No

Recommended Identifiers

These identifiers should be mapped to Movable Ink whenever possible to ensure the highest user match rates possible. If using these identifiers, they must be added as Global or Event Specific mappings. Please discuss adding the following attribute with your Movable Ink service team to properly map to your account.

AttributeDescriptionExample
email
recommended
Lowercase SHA256 hash of normalized email. Trim any leading and trailing spaces. Convert all characters to lowercase.Before hashing: [email protected]
After hashing: `542d240129883c019e106e3b1b2d3f3cb3537c43c425364de8e951d5a3083345

Additional Notes & Documentation

To learn more about Movable Ink’s Customer Data API, please review the following Support Center Articles: