Movable Ink

Movable Ink is a cloud-based software platform that offers digital marketers a way to create compelling and unique visual experiences that move customers. The Movable Ink Platform provides valuable customization options that can easily be inserted into your campaigns.

Expand Braze’s creative capabilities by leveraging Intelligent Creative features like polling, countdown timer, and scratch off with Movable Ink. Movable Ink and Braze power a more well-rounded approach to dynamic data-driven messages, providing users with real-time elements about the things that matter.

Integration

Integration Requirements

  • An active Movable Ink account.
  • Data Source connected to Movable Ink.
    • Either CSV, Website Import, or API.
    • Note: Ensure that you are passing data with a unifying identifier between Movable Ink and Braze (e.g external_id)

Intelligent Creative has many offerings that Braze users can take advantage of. Below is a list of what is supported.

Movable Ink Capability Feature Rich Push Notification In-App Messaging / Content Cards Details
Creative Optimizer Display A/B Contents  
  Optimize ✔* * Must Use Branch’s Deeplinking solution
Targeting Rules Date ✔* * Supported but not recommended because push notifications are cached upon receipt and do not refresh
  Day of Week ✔* * Supported but not recommended because push notifications are cached upon receipt and do not refresh
  Time of Day ✔* * Supported but not recommended because push notifications are cached upon receipt and do not refresh
Stories/Behavior Activity   ✔* ✔* * The unique user identifier used for Braze must be linked to your ESP’s identifier
Deep Linking within the app   ✔* ✔* * Must use Branch’s deep linking solution
Apps Countdown Timer ✔* * Supported but not recommended because push notifications are cached upon receipt and do not refresh
  Polling ✔* * After voting, will leave the app to be a mobile landing page
  Scratch Off ✔* ✔* * On click, will leave the app for the Scratch Off experience
  Video ✔* ✔* * Animated GIFs only,
For Android, Braze requires GIF support in implementation

Use Cases

  • Personalized monthly or end of year recaps.
  • Dynamically personalize images for email, push, or rich notifications based on last known behavior.
    For Example:
    • Using a Rich Push Message to dynamically create a schedule of events by pulling data from API.
    • Using the Countdown Timer feature to notify users when a big sale is approaching (e.g Black Friday, Valentine’s Day, Holiday Deals, etc.)
    • Use the Scratch Off feature as a fun and interactive way to disburse Promo Codes.

Implementation Process

Step 1: Create a Data Source for Movable Ink

Customers will need to create a data source that can either be a CSV, Website Import, or API Integration.

datasource

  • CSV Data Source: Each row must have at least one segment column and one content column. After your CSV has uploaded, select which columns should be used to target the content. Example CSV File

datasource

  • Website Data Source: Each row must have at least one segment column and one content column. After your CSV has uploaded, select which columns should be used to target the content.
    • Within this process, you’ll need to map:
      • Which fields will be used as Segments
      • Which fields you want as data fields that can be dynamically personalized in the creative (ex: user attributes or custom attributes like first name, last name, city, etc.)

datasource

  • API Integrations: Use your company’s API to power content directly from an API response.

datasource

Step 2: Create a Campaign on the Movable Ink Platform

  1. create_campaign From the Movable Ink home screen, you can choose to create a campaign. You can select from either Email from HTML, Email from Image, or a Block that can be used in any channel including Push, In-App Message, and Content Cards (suggested). We also suggest taking a look at the various content options available through creating a campaign using blocks.

  2. Movable Ink has an easy editor for customers to drag and drop elements like text, image, etc.

    Given that the customer has populated their data source, they can also dynamically generate an image using the data properties. In addition, they can also create fallbacks within this flow for users in the event that the campaign is sent and a user doesn’t fit within the personalization criteria.
    create_campaign2Customers can also preview the dynamic images and test out the query parameters to see what the images will look upon view.

    For more information on how to use the Movable Ink Platform, check out Movable Ink Support Center

Once complete, you should be able to generate a dynamic URL that you can then insert into Braze!

Step 3: Obtain Movable Ink Content URL

To include Movable Ink content into Braze messages, you must locate the source URL movable ink has provided you.

  1. obtain_url To obtain the source URL, you must have set up the content in the Movable Ink Dashboard, and then from there, Finish & Export your content.
  2. On the Finish page, copy the source URL(img src) from the creative tag.
  3. In the Braze Platform, paste the URL in the appropriate field. Check out the next step to see appropriate fields.
  4. Be sure to replace any merge tags (i.e. &mi_u=%%email%%) with the corresponding Liquid variable (i.e. &mi_u={{${email_address}}}).

Step 4: Braze Experience

Push Notifications

  1. In the Braze Platform:
    • Android Push: Paste the URL in the Push Icon Image and Expanded Notification Image fields.
    • iOS Push: Paste URL in Rich Notification Media link field, and directly below, denote the file format you are using.
    • Web Push: Paste the URL in the Push Icon Image and Large Notification Image fields.
  2. In order to make sure images are not cached, prepend the URL in the message with empty Liquid tags:
    {% if true %}{% endif %}https://movable-ink-image-url-goes-here

In-App Messages and Content Cards

  1. In Braze’s platform, paste the URL in the Rich Notification Media field.
  2. Provide a Unique URL to help Prevent Caching. To ensure that Movable Ink’s real-time images work and will not be affected by caching, use Liquid to append a timestamp to the end of the Movable Ink image URL.
    To do this, use the following syntax, replacing the image URL as needed:
    {% assign timestamp = "now" | date: "%s" %}
    {% assign img = "https://movable-ink-image-url-goes-here" | append:timestamp %} {{img}}
    This template will take the current time (in seconds), append it to the end of the Movable Ink image tab (as a query param), and then output the final result. You can preview it’s working with the “Test” tab on the right of the Compose tab - this will evaluate the code and show a preview.
  3. Re-Evaluate Segment Membership. Enable the Re-evaluate Segment membership option located on the “Target Users” step of a campaign. If this is option is not available, reach out to your Customer Success Manager. This option will instruct Braze SDKs to re-request the campaign each time an In-App Message is triggered. It’s needed because ordinarily the Liquid code is evaluated just once at send-time, and we need a unique URL every time the message is shown.

Troubleshooting

Dynamic Images not showing correctly? What channel are you experiencing difficulties with?

  • Push: Make sure that you have empty logic before your Movable Ink image URL:
    {% if true %}{% endif %}https://movable-ink-image-url-goes-here
  • In-App Messages and Content Cards: Make sure that the image URL will be unique for each impression. This can be done by appending the appropriate Liquid so that each URL is different. See In-App and Content Card Messages Instructions.
  • Image Not Loading: Be sure to replace any “merge tags” from with the corresponding Liquid fields in the Braze dashboard. For example: https://mi-msg.com/p/rp/image.png?mi_u=%%email%% with https://mi-msg.com/p/rp/image.png?mi_u={{${email_address}}}.

Having trouble showing GIFs on Android?

  • Android requires GIF support in implementation. If you do not have this setup, follow the instructions to do so here.
WAS THIS PAGE HELPFUL?
New Stuff!