Send events to Movable Ink using RudderStack cloud mode.
8 minute read
After you have successfully instrumented Movable Ink as a destination in RudderStack, follow this guide to correctly send your events to Movable Ink in cloud mode.
Find the open source transformer code for this destination in the GitHub repository.
Create event mapping in Movable Ink
To send an event successfully to Movable Ink via RudderStack, you must set up its mapping in Movable Ink:
Select the preferred endpoint and scroll to the Event Mappings section.
Click New event mapping and fill the details:
Refer to the identify and track sections to know about the Match criteria value.
Click Create to create the event successfully.
Click the created event, enter the JSON paths for the event properties (refer to the RudderStack JSON Path in the corresponding event’s mapping table in below sections) and click Save Fields:
Turn the event status as Activate.
Identify
You can use the identify call to create or update a user in Movable Ink.
RudderStack maps the identify call to Movable Ink’s Identify event. You must set up the identify event mapping in Movable Ink with the match criteria as .type == "identify". See Create event mapping in Movable Ink for more information.
At least one of the userId, email, or anonymousId fields is required to send identify events to Movable Ink.
You can send up to 1000 events in a batch with the batch request size not exceeding 1 MB.
Supported mappings
RudderStack maps the following identify event fields to the corresponding Movable Ink schema fields:
RudderStack property path
Movable Ink schema field
Data type
userId Required
UserID
String
anonymousId Required
AnonymousId
String
timestamp Required
Automatically added by RudderStack in the final event payload.
Timestamp
Number (Unix timestamp)
context.timezone
Timezone
String
Track
You can use a track call to send the ecommerce and custom events to Movable Ink. The match criteria for any track event in the Movable Ink dashboard is .event == "Event Name". See Create event mapping in Movable Ink for more information.
At least one of the userId, email, or anonymousId fields is required to send track events to Movable Ink.
You can send up to 1000 events in a batch with the batch request size not exceeding 1MB.
Supported event schemas
Movable Ink supports the following predefined event schemas (mentioned with their corresponding match criterias):
Product (Product Viewed)
Category (Category Viewed)
CartAdd (Product Added)
Search (Products Searched)
Conversion (Order Completed)
CartRemove (Product Removed)
You can also create custom event schemas by clicking New Schema in the Movable Ink dashboard.
Movable Ink supports upto 20 custom properties for the Product, CartAdd, and CartRemove events. You must provide the custom property’s name and JSON path by clicking the event and adding the values in the schema fields.
Product
The match criteria for Product event in Movable Ink is .event == "Product Viewed".
A sample code is shown:
rudderanalytics.track("Product Viewed",{product_id:"622123477358033",sku:"9472-998-0112",category:"Games",name:"Age of Empires",brand:"CEO Games",variant:"expansion pack",price:49.99,quantity:5,coupon:"PRE15",currency:"USD",position:1,url:"https://www.example.com/product/path",image_url:"https://www.example.com/product/path.webp",})
RudderStack maps the following properties to Movable Ink schema fields for Product event:
RudderStack property path
Movable Ink schema field
Data type
Note
properties.product_id Required
ID
String
-
timestamp Required
Timestamp
Number
Unix timestamp
Automatically added by RudderStack in the final event payload.
properties.categories[]
Categories
Array
You can pass the category URL and ID under categories. For example, .url, .id.
channel
Channel
String
Automatically added by RudderStack in the final event payload.
properties.price
Price
Number
-
context.timezone
Timezone
Number
-
properties.name
Title
String
-
properties.url
URL
String
-
Category
RudderStack does not support any standard ecommerce event corresponding to the Category event but recommends to set the match criteria in Movable Ink as Category Viewed. However, you can configure any other event name and JSON path in the Movable Ink schema field and pass the same to RudderStack.
RudderStack maps the following properties to Movable Ink schema fields for Category event:
RudderStack property path
Movable Ink schema field
Data type
properties.category_id Required
CategoryID
String
timestamp Required
Automatically added by RudderStack in the final event payload.
Timestamp
Number (Unix timestamp)
channel
Automatically added by RudderStack in the final event payload.
Channel
String
context.timezone
Timezone
Number
properties.name
Title
String
properties.url
CategoryURL
String
CartAdd
The match criteria for CartAdd event in Movable Ink is .event == "Product Added".
A sample code is shown:
rudderanalytics.track("Product Added",{product_id:"622113312385534c72358033",sku:"9472-998-0112",category:"Games",name:"Age of Empires",brand:"CEO Games",variant:"expansion pack",price:29.99,quantity:5,coupon:"PRE15",position:1,url:"https://www.example.com/product/path",image_url:"https://www.example.com/product/path.webp",})
RudderStack maps the following properties to Movable Ink schema fields for CartAdd event:
RudderStack property path
Movable Ink schema field
Data type
Note
properties.product_id Required
ID
String
-
timestamp Required
Timestamp
Number
Unix timestamp
Automatically added by RudderStack in the final event payload.
properties.categories[]
Categories
Array
You can pass the category URL and ID under categories. For example, .url, .id.
channel
Channel
String
Automatically added by RudderStack in the final event payload.
properties.price
Price
Number
-
context.timezone
Timezone
Number
-
properties.name
Title
String
-
properties.url
URL
String
-
Search
The match criteria for Search event in Movable Ink is .event == "Products Searched".
RudderStack maps the following properties to Movable Ink schema fields for Search event:
RudderStack property path
Movable Ink schema field
Data type
properties.query Required
Query
String
timestamp Required
Automatically added by RudderStack in the final event payload.
Timestamp
Number (Unix timestamp)
userId Required, if anonymousId is absent.
UserID
String
anonymousId Required, if userId is absent.
AnonymousID
String
channel
Automatically added by RudderStack in the final event payload.
Channel
String
context.timezone
Timezone
Number
properties.url
URL
String
Conversion
The match criteria for Conversion event in Movable Ink is .event == "Order Completed".
A sample code is shown:
rudderanalytics.track("Order Completed",{checkout_id:"ea000000000000",order_id:"order1200000",affiliation:"CEO Games",total:52.0,subtotal:45.0,revenue:50.0,shipping:4.0,tax:3.0,discount:5.0,coupon:"freshorder5",currency:"USD",products:[{product_id:"622c6f5d5cf86a4c77358033",sku:"8472-998-0112",name:"Age of Empires",price:40,quantity:1,position:1,category:"Games",url:"https://www.example.com/product/path",image_url:"https://www.example.com/product/path.jpg",},{product_id:"577c6f5d5cf86a4c7735ba03",sku:"3309-483-2201",name:"Monopoly",price:5,quantity:1,position:2,category:"Games",},],})
RudderStack maps the following properties to Movable Ink schema fields for Conversion event:
RudderStack property path
Movable Ink schema field
Data type
Note
properties.products[] Required
Products
Array
-
properties.products[n].product_id Required
Products.ID
String
Path within the products array.
timestamp Required
Timestamp
Number
Unix timestamp
Automatically added by RudderStack in the final event payload.
properties.products[n].url
Products.URL
String
Path within the products array.
properties.products[n].quantity
Products.Quantity
Number
Path within the products array.
properties.products[n].price
Products.Price
Number
Path within the products array.
properties.products[n].name
Products.Title
String
Path within the products array.
channel
Channel
String
Automatically added by RudderStack in the final event payload.
context.timezone
Timezone
Number
-
properties.order_id
ID
String
-
properties.revenue
Revenue
Number
-
CartRemove
The match criteria for CartRemove event in Movable Ink is .event == "Product Removed".
A sample code is shown:
rudderanalytics.track("Product Removed",{product_id:"622c6f5d5cf86a4c77358033",sku:"8472-998-0112",category:"Games",name:"Age of Empires",brand:"CEO Games",variant:"expansion pack",price:49.99,quantity:5,coupon:"PRE15",position:1,url:"https://www.example.com/product/path",image_url:"https://www.example.com/product/path.webp",})
RudderStack maps the following properties to Movable Ink schema fields for CartRemove event:
RudderStack property path
Movable Ink schema field
Data type
Note
properties.product_id Required
ID
String
-
timestamp Required
Timestamp
Number
Unix timestamp
Automatically added by RudderStack in the final event payload.
properties.categories[]
Categories
Array
You can pass category URL and ID under categories. For example, .url, .id.
channel
Channel
String
Automatically added by RudderStack in the final event payload.
properties.price
Price
Number
-
context.timezone
Timezone
Number
-
properties.name
Title
String
-
properties.url
URL
String
-
Custom events
For any custom event, you must configure the following bare minimum schema fields:
RudderStack property path
Movable Ink schema field
Data type
timestamp Required
Automatically added by RudderStack in the final event payload.
Timestamp
Number (Unix timestamp)
context.timezone
Timezone
String
Common field mappings
The following table lists the common mappings relevant for both the identify and track events:
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.