Message Limits

You can set a message limit to determine the maximum number of messages that you can send people within a time frame. Setting a message limit can prevent you from over-messaging people in your workspace.

How it works

You set a message limit and a retry interval at the workspace level, and then you determine which campaigns, broadcasts, and messages count towards the limit.

When a person reaches the limit, we can retry messages automatically based on your retry interval. Messages in the retry window are marked Attempted. If a person reaches the message limit, and the retry interval expires without sending a message, or you don’t set a retry interval, their message becomes Undeliverable.

You can select undeliverable messages on the Deliveries & Drafts page and click Retry to re-send a message. When you do this, you can opt to ignore your message limit, ensuring that a person gets your message.

flowchart LR b{Has person reached
the message limit?} b------>|no|c[Message is
sent] b-.->|yes|d{Is message set
to auto retry?} d-->|yes, retry|e[Message is
attempted]-->h{Is retry
successful?} d-.->|no|f[Message is
undeliverable] h-->|yes|c h-.->|no|g{is retry
window over?} g-.->|yes|f g-.->|no|e

 Limits don’t apply to transactional messages or in-app messages

By their nature, your audience explicitly requests and expects transactional messages like receipts, password reset requests, etc.

Message limits don’t apply to in-app messages, because their delivery time is unpredictable; after you send a message, a person has to open your app to the correct page or screen to see the message. Learn more

Message limits and timing

Message limits are based on timestamps between message deliveriesThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. calculated down to the second; they are not based on calendar days. For example, if you set a message limit of 1 per day, and you successfully send a message, any message sent within 24 hours of the first message will hit your message limit and be marked undeliverable.

Because we calculate message limits down to the second, small time discrepancies can cause messages to hit your limit. For example, if you have a message limit of 1 message per day, and you run a daily recurring campaign with a single message, messages from your daily campaign might hit the limit because we don’t process messages at exactly the same second every day. The exact time at which we process deliveries can change based on fluctuations in the number of people in your campaign, the number of active people in your workspace, current system load, etc.

To prevent situations in which messages are made undeliverable within minutes or seconds of your message limit, we generally recommend that you set the time period for your limit slightly lower than your actual need. So, if you were to repeat a campaign daily, and you want to prevent your audience from receiving more than 1 message per day, you should consider setting your limit to 23 hours to prevent yourself from inadvertently limiting your messaging capacity.

Message Limit Metrics

The Delivery section of your dashboard shows the percentage of your messages that were undeliverable, helping you understand how often your audience reaches the message limit, and whether you should adjust the limit or your campaigns.

dashboard-deliveries-undeliverable.png
dashboard-deliveries-undeliverable.png

Limits don’t apply to transactional or in-app messages

By their nature, your audience explicitly requests and expects transactional messages, so we don’t apply message limits to them.

In-app messages are a little more complicated. Message limits apply at send time. But when you send an in-app message, a person doesn’t receive it right away. A person won’t receive an in-app message until they open your app and go to the correct page(s) or screen(s) where they can see your message. This makes delivery time unpredictable; it could be days or weeks until a person actually receives a message. Because we can’t predict when a person will receive a message, we don’t apply message limits to in-app messages.

In general, we recommend that you limit in-app messages using page rules and other targeting criteria to make sure that your in-app messages are relevant and useful to your audience when they see them.

Set a workspace message limit

  1. Go to Settings > Workspace Settings and click Message Limit.
  2. Click Enable a message limit.
  3. Enter your limit and time frame. The maximum time frame is 7 days.
  4. Set a retry interval if you want to automatically retry messages for up to 48 hours after a person reaches the message limit.

     You can still auto-retry without this setting

    The Auto-Retry setting is meant as a global default value. But you can set retry intervals on a case-by-case basis, even without setting this “global” value.

  5. Click Save Changes.
    message-limit-setup.png
    message-limit-setup.png

By default, campaigns, broadcasts, and messages do not observe your workspace message limit or retry interval. You must enable the Count toward message limit setting on the campaigns, broadcasts, and messages that you want to count towards the limit.

 Auto retries don’t apply to newsletters

For now, you can only apply the auto retry setting to campaigns and API-triggered broadcasts. You cannot automatically retry newsletters that hit your message limit.

Automatic retries

When you enable message limits, you can set up automatic retries. The Auto-Retry setting retries messages that go over the limit for up to 48 hours, providing a way to automatically send time-sensitive messages, even after a person reaches the limit. Customer.io will retry a message at the earliest time it could sucessfully send.

You can set the Auto Retry setting at the workspace level.

At the workspace level, a message limit and auto-retry time period are set. A person can receive no more than 1 message per day. The system will try to send the message again for up to 48 hours.
At the workspace level, a message limit and auto-retry time period are set. A person can receive no more than 1 message per day. The system will try to send the message again for up to 48 hours.

However, this simply represents a global default; you’ll still need to enable the setting on campaigns, broadcasts, or messages.

You can use your workspace default or you can set individual retry periods—up to 48 hours—for each place you enable the Auto Retry setting.

 Customer.io will attempt to re-send messages even if a person has met the campaign’s exit conditions.

Changing or disabling limits

Changes to your message limit and retry settings take effect within moments—on the order of a few minutes. But within that short period, people can still observe your previous message limit settings!

Disabling the Auto-Retry setting only prevents you from applying a global auto-retry value in the future. Campaigns and broadcasts that previously used an auto-retry value won’t stop using the previous value until you go to the campaign and change it manually.

Disabling message limits all together prevents your workspace from limiting messages to people.

Enable the message limit for a campaign or broadcast

While you set a message limit at the workspace level, you must enable the limit for broadcasts, campaigns, and messages that you want to observe the limit.

To count a broadcast or campaign towards the limit, enable Count toward message limit in the Recipients step of a broadcast or the Settings step of a campaign. Then you can also change the Auto-Retry Settings for messages. By default, retries are disabled—even when you enable message limits. You’ll need to enable retries separately.

count-toward-limit.png
count-toward-limit.png

Enable the message limit for a message

Messages within a campaign or broadcast use the message limit setting from the campaign or broadcast by default. You can change the setting for individual messages within a campaign—to observe or ignore your message limit and retry settings.

Select a message and change the Message Limit and Auto-Retry Settings to observe or ignore your message limit and retry settings.

message-limit-singlemsg.png
message-limit-singlemsg.png

Manually retry messages after going over the limit

We mark messages that go over the message limit as Undeliverable. From the Deliveries log, you can see which of your messages hit the message limit and retry undeliverable messages.

deliveries-undeliverable-retry.png
deliveries-undeliverable-retry.png

When you retry a message, you can determine whether to observe or ignore your message limit.

  1. Go to Deliveries & Drafts.
  2. In the Deliveries tab, filter for messages with the Undeliverable status.
  3. Select a message and then click Retry.
  4. Select whether or not to observe the message limit and track links. If you use the Do not send the message if it reaches the limit option, your retry counts toward the limit.
  5. Click Resend message.

Find campaigns or broadcasts with unsent messages

You can find unsent messages in your campaigns or broadcasts. This can help you sort and decide which messages you want to resend despite your message limit.

Go to the Campaigns or Broadcasts pages. Items showing a icon have messages that were undeliverable due to your message limit.

Hover over the icon and click View undeliverable to see the undelivered messages within the campaign or broadcast. From here you can resend messages to your audience.

Find campaigns and broadcasts with a message limit

All of your campaigns and broadcasts that observe the limit appear in your Message Limit settings, helping you understand the scope of your message limit.

Find the count of campaigns and broadcasts that observe your message limit
Find the count of campaigns and broadcasts that observe your message limit
Copied to clipboard!
  Contents
Is this page helpful?