Customer.io Event Emails: An Acceptance Test Plan

Review the email in Migma, then verify sample event data, journey routing, and the final Customer.io message before activation.

Written by

Migma Team

Published

Customer.io Event Emails: An Acceptance Test Plan

An event-triggered email is ready only when the intended person enters the right journey and receives the right message with usable data. Start with a reviewed Migma draft, then test the event and destination version in Customer.io before activating the automation.

A preview can look perfect while the event payload is missing a field or a repeat event takes the wrong branch. Conversely, an event can reach the automation while the email contains a broken action. Those are separate failures and need separate evidence.

This guide is published by Migma for product and lifecycle teams sharing responsibility for event-based email. Customer.io's current testing documentation and Migma's export guidance were checked on October 14, 2026. The acceptance cases below are original examples, not results from a live customer test.

Write the expected outcome before the test

Choose one event and one reader job. For example, an account-setup event might mean the user needs instructions for a remaining setup task. Record which task remains, which account state makes the email useful, and which action should end that need.

Customer.io's event-based messaging article explains how the same event can lead to different journeys depending on prior behavior and context. Use it to ask whether a first event and a repeat event should produce the same response in your own application.

Do not turn every recorded action into a message. A useful acceptance statement can say that an event updates context without sending anything. That makes “no email expected” a deliberate behavior you can test.

Write the statement plainly: “When this controlled account performs the event in this state, it should receive this message once, with this destination.” Avoid a vague requirement that the automation should work.

Define the message data contract

List the fields the email actually needs. Mark each one as required, optional, or derived by the destination. Include a realistic example and the accepted behavior when an optional value is absent.

A setup email may need a product name and a destination but not the user's full purchase history. Keep the contract small enough that a reviewer can inspect it. The developer or data owner should confirm which system supplies each field.

If the same field name appears in several systems, verify that it means the same thing. A count of all events is different from a count of successful actions; neither should be casually substituted for the other in copy.

Use synthetic or approved test data. The message designer needs representative values and edge cases, not production credentials or sensitive account records.

Approve the creative in Migma

Supply the event's reader job, field contract, approved facts, and destination to Migma. Review the brand context, then ask for a focused email that helps the user complete the next action.

Keep the wording accurate when optional information is missing. A draft that says “your team is ready” should not depend on an unverified assumption that teammates have joined. The sample render should include both a complete profile and a profile missing an optional name.

Run Email Preflight and review the important action, inbox layout, and text. Preflight checks creative and common sending risks; it cannot establish that a Customer.io event reached the right automation.

Use Migma's HTML download as the handoff when appropriate. This guide does not claim a native Customer.io export connector. The implementer owns adaptation to Customer.io's message fields and personalization syntax.

Test the destination message with eligible sample data

Customer.io's official email testing guide says to select a person in Sample Data before sending a test. For event-triggered automations, that person must already have performed the event; otherwise event data can be missing in Preview.

A missing-event error is therefore not automatically a rendering defect. Confirm the sample person's event history before rewriting the template. Then verify that the selected data produces the intended content.

The guide also distinguishes the person whose data fills the message from the addresses receiving the test. Review both selections. A test that uses the wrong sample account can give a reassuring result for the wrong case.

Run an acceptance matrix for the journey

Use a small set of controlled scenarios tied to your actual implementation.

ScenarioExpected evidence
First qualifying eventCorrect journey and reviewed message
Repeat eventIntended repeat behavior, with no accidental duplicate
Missing optional fieldReadable fallback and working action
Task completed during a waitMessage remains appropriate or is stopped as designed
Event from an ineligible accountNo unintended message

The exact filters and repeat behavior belong to your automation owner. This table defines what to verify; it does not assert that every configuration prevents duplicates automatically.

Record the event, sample account, relevant state, template version, test recipient, and observed result. “Event received” and “email accepted by a provider” are useful checkpoints, but neither confirms that the reader saw the correct message.

Keep failures assigned to the right owner

If the event is absent, investigate instrumentation or sample history. If the automation selects the wrong person, review routing and eligibility. If personalization fails, compare the field contract with the destination template. If the message is unreadable, return the creative issue to Migma.

That separation prevents a design team from rewriting an email to compensate for a data or routing problem. It also gives developers a clear acceptance target rather than a general complaint that the email looks wrong.

Activate only after the responsible owners accept the journey and its message. Keep the test record with the approved creative so the next change can repeat the meaningful cases instead of starting from a blank preview.

Frequently Asked Questions

Why does Customer.io Preview say event data is missing?

Its current testing guide says the sample person must already have performed the event for event-triggered automation tests. Check sample history before treating the error as a design problem.

Is an event reaching the automation proof that the email works?

No. Verify routing, eligibility, personalization, delivered content and the intended action as separate acceptance checks.

Does Migma have a native Customer.io export in this guide?

No native connector is claimed. Use the documented HTML download when appropriate and have the implementer adapt the message to Customer.io's fields and syntax.

Which cases belong in the acceptance matrix?

Use meaningful cases for your implementation: first and repeat events, missing optional fields, completed tasks during waits, and ineligible accounts. Record expected and actual outcomes.

The author

From idea to inbox in seconds

Create professional, personalized emails with AI.

Start for free