This article will show you how to **create** MMS Campaigns, explain what you can do within the MMS **Project Settings**, and guide you through the **integration** **process** of MMS. Moreover, it elaborates on the **SMS fallback** and illustrates how the messages are **tracked**. **Predefined templates **are also introduced here.

MMS campaigns allow you to create even more personalized campaigns through multimedia messages. Adding images or videos to your campaigns can increase user engagement and brand awareness.

You can access MMS campaigns via the `MMS` action node in Scenarios or through an individual module `SMS campaigns` in Campaigns. The message and media to be sent can be typed within a user-friendly editor with an option to include Jinja personalization. The editor also displays a ‘characters counter’ and automatic highlighting of special characters within the UI, as well as the option to define fallback SMS with limiting automatic message splitting. You can preview your final MMS message or fallback SMS before actually sending it or test it for the selected group of your customers.

MMS are handled by the third-party providers Sinch and [Infobip](🔗). Both provide support only in the US and Canada. Note that due to regulatory requirements, service to Canada is fairly limited.

## Building MMS campaigns

  1. Click on the `SMS node` in your Scenario.

  2. After that, enter the `Sender` of the MMS. It can be short-coded (in the US), a toll-free number (in the US and Canada), a 10DLC number (in the US and Canada), or a long number (in Canada and Australia).

  3. Then, fill out the `Subject` of the SMS.

  4. Then, write your MMS text.

  5. You can insert the media URL. There are 3 supported media types:

    • Image (GIF/JPG/PNG)

    • Video (MP4)

    • vCard (VCF) You can read more about best practices later in [this section](🔗) of the article.

  6. Configure SMS fallback where you enter the fallback message and enable automatic message splitting.

  7. You can add Jinja personalization by accessing the user-friendly copy-and-paste personalization editor.

  8. Lastly, you can preview how the rendered message will appear to a specified customer for both MMS and fallback SMS.



  • Subject can have up to 80 characters and should not contain emojis or Unicode characters.

  • Maximum allowed size of the message text is 1600 characters per message.

  • The maximum recommended size of the media is 1MB.

  • In the case of the fallback message, the single message can consist of 160 characters, and longer messages will be split into multiple messages.

  • MMS messages are sent using the customer attribute phone. It is required to have the customer attribute phone set to a phone number in an international format (either starting with "00" or with "+").

  • Maximum number of [predefined senders](🔗) 100 per one single project.

### MMS Best Practices for Media Files

There are several recommended practices regarding sizes, files, and design considerations of media:

  • Recommended file formats are .jpg for images, .gif for animations, and .mp4 for videos.

  • Regarding various media sizes and other recommendations, please read [this article](🔗) by Sinch or alternatively [this article](🔗) by Infobip.

  • It is not recommended to use any transparency in your designs as the actual colors of images would be unpredictable.

  • We recommend testing your MMS to ensure the images/animations/videos/contact cards are displayed correctly.

  • The supported media type for contact cards is `text/vcard`, read more about the [standards of this format](🔗). Other media types such as `text/directory`, `text/directory; profile=vcard` and `text/x-vcard` are deprecated in favor of the `text/vcard` format.

### Testing

You can test your MMS message through the editor by clicking on the `Send test SMS`. Here, you have 2 options:

  1. You can send it to a specific provided phone number (e.g., you can send it to yourself).

  2. You can send it to the previewed customer.


### Settings

Within the settings tab, you can configure the following:

  • [Frequency policy](🔗)

  • [Consent category](🔗)

  • [Custom campaign tracking](🔗)

  • [Link shortener and Transfer identity to URL links](🔗) (if link shortener feature is enabled)

## MMS Project Settings

You can access MMS Project settings under `Project Settings > Channels > SMS/MMS`. Here you can set up the following:

  • The default MMS Provider

    • The selected MMS integration will send messages to all new and existing campaigns. That means when the default integration is changed (and settings are saved), all SMS nodes containing MMS from all existing scenarios will automatically change the integration for sending the messages.

  • Two-way SMS/MMS messaging

    • You can configure how the system handles incoming MMS messages. You can read more about it in [this article](🔗).

## MMS Integration

You have to configure the integration with the provider so the MMS campaigns will work. At the moment, we offer two MMS providers - [Sinch](🔗) & [Infobip](🔗). This is commonly set up by the CSM.

**Sinch** To do the integration, follow these steps:

  1. Go to `Data & Assets > Integrations > Sinch MMS`.

  2. Select Sinch as your MMS provider. Here, add your Service plan to your project. Remember that each service plan comes with a rate limit and gets its own message queue. The integration includes tracking of enqueued messages.

  3. Set up a Service Plan ID that is provided by Sinch.

  4. Set up the API Authentication Token provided with each service plan.

  5. Choose your endpoint region based on your data protection requirements. Currently, it is available only in the US.

**Infobip** To do the integration, follow these steps:

  1. Go to `Data & Assets > Integrations > Infobip MMS`.

  2. Select Infobip as your MMS provider. Here, add your API key to your project.

  3. Set up an API key that is provided by Infobip.

## SMS Fallback

Sinch and Infobip convert the MMS into a fallback SMS for the scenarios listed below:

  • If MMS submitted is a greater size than the destination mobile network operator.

  • If the Content-type submitted is not supported by the end carrier MMSC.

  • If the Sinch/Infobip determines that the end-user device is not MMS compatible for the content to be delivered. For example, Android Devices do not support PDF and ICS file formats.

If any of these scenarios are met, Sinch/Infobip sends the fallback SMS instead of the MMS message. Fallback SMS is charged and priced as an MMS.

Important notes

  • SMS fallback is only triggered in the case where any of the above-listed criteria are met.

  • For carriers not supported by Sinch/Infobip or where Sinch/Infobip does not have MMS reach, SMS fallback does not happen.

  • Sinch/Infobip is able to obtain handset-type information from delivery receipts and store the record in a handset cache for later use.

  • Sinch/Infobip has a database of attributes that we manually match to every new handset in the cache so we can adapt the content during MMS delivery.

  • SMS fallback is currently supported in the US (United States) on Short Codes.

## MMS Tracking

By default, MMS campaigns track`campaign` event with action_type = "mms". Events can be mapped to a different event name in the`Project settings > Campaigns > Mapping > Campaign events`.

### Send to provider tracking

When Bloomreach Engagement sends a message to the MMS provider, it immediately tracks the response to the attempt. Either the MMS provider accepts the message for delivery or rejects it, Bloomreach Engagement follows the campaign event with these properties and standard campaign event properties:

event propertyvaluedescription
action_typemmsEngagement action type
status"enqueued" "enqueue_failed"Describes if a message was or was not successfully forwarded to the SMS provider for delivery
action_id12Unique ID number of the scenario action node. The number rises proportionally with the order in which you created the nodes in the scenarios. The action_id of the first action is 1, for the second action, it is 2, etc.
action_namee.g. mms_1Name you gave to the specific action node within the scenario.
campaign_ide.g. 5c584sa5729971a4f992sj9The automatically-generated ID of the campaign.
campaign_namee.g. Summer saleName you gave to the campaign.
campaign_policydefaultName of the frequency policy used with the campaign.
consent_categoryGeneral consentName of the consent category used with the campaign.
status_codee.g. E111Reason HTTP code for failed requests. Sinch's [MMS status codes](🔗) Infobip's [MMS status codes](🔗)
errore.g. "Invalid shortcode"Reason error code for failed requests. Sinch's [MMS status codes](🔗) Infobip's [MMS status codes](🔗)

Events tracked for MMS

The statuses we track for MMS are the same statuses as for SMS (enqueued (sent), delivered, clicked if Link shortener enabled, etc.). Check out this [article](🔗) for a comprehensive overview of the tracked statuses.

### Delivery reports tracking

The provider calls Bloomreach Engagement callback with delivery reports as statuses delivered or failed when the recipient's operator responds about the delivery. The delivery and content may change based on the provider. At the moment, we only support Sinch and Infobip as MMS providers.

### Successful delivery

Delivered message tracks `status=delivered` with attribute `type=mms/sms` defining whether the message was delivered as MMS or fallback SMS.

event propertyvaluedescription
action_typemmsEngagement action type
status"delivered"The message was successfully delivered to the recipient's handset
type“mms/sms”Type of delivery as MMS or fallback SMS
number_of_message_partsnumberCount of message parts in case of fallback sms

### Failed delivery

Undelivered messages track status failed with the attribute `type=mms/sms` defining whether the message failed as MMS or fallback SMS.

event propertyvaluedescription
action_typemmsEngagement action type
status"failed"Message failed.
status_codee.g. E101Reason HTTP code for failed requests. Sinch's [MMS status codes](🔗) Infobip's [MMS status codes](🔗)
errore.g. "Error fetching dynamic content"Reason error code for failed requests. Sinch's [MMS status codes](🔗) Infobip's [MMS status codes](🔗)
number_of_message_partsnumber, e.g. 2Count of message parts

## Predefined senders

If you are using multiple senders in a single Engagement project, you can now store them as "Predefined senders". To access its settings, go to `Project Settings > Channels > SMS/MMS`.

After setting it up, senders are immediately available in the SMS action node of the scenario. The benefit of using predefined senders is that it helps to create more effective and error-prone MMS campaigns.


## Two-way Messaging and Keyword Auto Response

MMS campaigns include support for Two-way messaging and keywords auto responses. In case a user replies to your MMS in the form of an MMS, we will process the messages and scan them for keywords. However, it will be more common that a user will reply to an MMS in the form of an SMS.

An MMS mobile-originated message from a user to your short code/number can also contain images or multiple text parts. Any text part of the MMS will be checked for keywords at the beginning of the message. Learn more about Two-way Messaging and Keyword Auto Response in our [article](🔗).

# Contact Cards

Contact Cards provide a quick and convenient way to share your business name, number, logo, and more with your SMS/MMS subscribers so they save you in their contact list. You can create a bigger emotional connection with your subscribers through SMS/MMS and reduce the potential of filtering your messages by third parties. Learn more about [Contact Cards here](🔗).

## Usage Dashboard

You can view the overview of all outgoing MMS messages on the account or project level within the [usage dashboard](🔗). In the Communications section, you can see the number of sent MMS communications under ‘MMS’ or fallback SMS under ‘Fallback SMS’.