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 in your full endpoint, including the URL.
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 Key

Description

Expected 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 Key

Description

Expected 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 Key

Description

Expected Input

properties.title Optional

Type: String
Page title.

properties.title

properties.url
Optional

Type: String
Page URL.

properties.url


products_searched

Output Key

Description

Expected 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 Key

Description

Expected 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 Key

Description

Expected 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 Key

Description

Expected 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 Key

Description

Expected 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 Key

Description

Expected 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.

Attribute

Example

Sync Injector Required?

mi_u Required

?mi_u=6977481

Yes

anonymousId
Required

130161d0-8fee-4167-aa4d-d151eed27c6b

No

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.

Attribute

Description

Example

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: