You will learn
Learn how to add a dynamic image to an MMS message in Klaviyo.
Including a dynamic image allows you to personalize your text messages. For instance, you can show someone the exact product they viewed, started a checkout with, or bought.
Before you beginBefore you begin
Depending on your use case, you may not always be able to add a dynamic image.
- Only metric-triggered flows can use dynamic images based on event data (e.g., items from a checkout or placed order) or on catalog tags for an event.
- Campaigns and list- and segment-triggered flows can have dynamic images only when the image URL exists as a custom property on the recipient’s profile.
Also, it's important note the following regarding dynamic images:
- Only 1 dynamic image is allowed per MMS.
- Images should be under 600 KB; otherwise carriers will compress it, which may make the image look distorted.
- If you try to send a dynamic image with a sending number that doesn't allow for MMS, the message will send, but the image will be removed.
- You can use conditional statements with dynamic images.
- Mobile carriers don't support WebP files, and attaching this type of image may cause the message to fail.
How to add a dynamic image
- Select the flow message where you want to include your dynamic image.
- In the right sidebar, click Edit.
- Click the Preview & text in the upper right corner.
- Find the data source for the image you want to include.
- Click the data source for an image's first variable, which will typically end in 0.
- Click Done.
- On the left, click the Add image icon (an image icon) in the Message box.
- Go to the Dynamic Image tab.
- Paste the dynamic variable or dynamic URL for the image.
- Click Save.
- Check that the dynamic image was added correctly by making sure one appears in the preview screen.
Use catalog tags
You can also use catalog tags to add dynamic images in the MMS. To do so:
- From the SMS preview modal, locate the product ID or SKU for the first listed product.
- Copy this variable.
- Click Done to return to the SMS editor.
- On the left, click the Add image icon (an image icon) in the message box.
- Go to the Dynamic Image tab.
- Paste in the following catalog tag:
{% catalog event.id %} {{catalog_item.featured_image.thumbnail.src}} {% endcatalog %} - Replace event.id in {% catalog event.id %} with the variable from the tag you previously copied. Remove the brackets and any filters from the variable (so {{ event.extra.line_items.0.product_id|default:'' }} becomes event.extra.line_items.0.product_id).
Example: {% catalog event.extra.line_items.0.product_id %} {{catalog_item.featured_image.thumbnail.src}} {% endcatalog %} - Click Save.
Example of using conditional statements
Dynamic images can use conditional statements.
Below is an example of an if/else statement to say that if there's a variant image, show that to recipients; else, use the default image:
{% if event.extra.line_items.0.product.variant.images.0.src %}{{ event.extra.line_items.0.product.variant.images.0.src }}{% else %}{{ event.extra.line_items.0.product.images.0.src }}{% endif %}
Note that exact format for these statements depends on your integration, and you should not copy them from email templates.
Additional resources
- Find more MMS image and GIF best practices
- Learn more about event variables in Klaviyo: