Failed and attempted messages

Updated

If you see ‘Attempted’ or ‘Failed’ as a status on your message, there are a few reasons why that might be the case.

Attempted means that your message has been created and we’ve tried to send it to the delivery provider, which then would send to your end user. If you’re sending an email, for example, that means that your email has been put together in Customer.io, and we’ve tried to send it to an ESP such as SendGrid. If a message status is showing as attempted, it means that we’ll try again to send it soon. Eventually, the message will send successfully, or it will fail.

Failed means that we weren’t able to successfully send your message to the delivery provider. It never left Customer.io.

Fix a failed message

Follow the steps below to diagnose and fix the issue. Often, a liquid tag is the reason a message failed to send, but even if it’s not, these steps can help you move forward.

1. Locate the failed message.

You can go to the Deliveries & Drafts page then filter for the failed message. You can also find them in the Sent tab of your campaign or broadcast. Click on the subject of the message. Here you’ll find the reason for the issue:

In the top left of a delivery detail page for a failed message, there is an error outlined in red.
In the top left of a delivery detail page for a failed message, there is an error outlined in red.

In this example, the customer’s name was missing from their profile, so we couldn’t render and send your email to the customer.

Click Fix to find the issue and edit the message template.

2. Fix the problem.

Locate the error in your message template.

In a rich text editor email, the body contains Hi {{customer.name}}.
In a rich text editor email, the body contains Hi {{customer.name}}.

There are a couple of ways to fix this particular error.

Option 1: You can edit your Liquid code so that it includes a fallback option. A fallback tells Customer.io what to do when that attribute doesn’t exist, so your message will still be sent.

If your template uses our latest liquid, you could use this fallback:

{{ customer.name | default: "there" }}

If your template uses legacy liquid, you could use this fallback:

{% if customer.name != blank %}

    {{ customer.name }}

{% else %}

    there

{% endif %}

This way, if the recipient doesn’t have the name attribute, the email will default to “Hey there!” instead of failing!

Option 2: Add the missing attribute and value to your recipient.

In case this particular person is missing that attribute and it should be there, you can add it to their profile.

3. Send again!

After you’ve fixed the error, go back to the delivery detail page of the failed message. Click Retry in the top right to send it again.

To the right of the name of the delivery on its delivery detail page is a Retry button.
To the right of the name of the delivery on its delivery detail page is a Retry button.

Other errors

Different message types can fail with different error messages; it doesn’t always have to do with liquid. In the case of push notifications, for example, a device may fail because the device token on the profile is incorrect:

image.png
image.png

Or, for SMS, a phone number may be missing. No matter what, you can find this information on that message’s delivery page. Some errors may simply instruct you to contact us.

If you encounter more attempts or fails than expected, let us know and we’ll help you troubleshoot!

Copied to clipboard!
  Contents
Is this page helpful?