BACK TO BLOG
TOOL HOW-TONovember 5, 20268 min read

How to Use SendGrid to Run a Trial Onboarding Drip Series

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-11-05

The short answer: the drip builder, Automation, sits on Advanced Marketing Campaigns at $60 a month and not on Basic at $15, so a trial-onboarding series costs $60 from the first send (Marketing Campaigns pricing, checked on 5 November 2026); authenticate the sending domain, create a sender and an unsubscribe group, push each signup from your app through the Contacts API into a list with a plan-type field, build a segment of trial users who have not upgraded, create a Custom Automation that enters from that segment and exits when a contact no longer fits it, space the emails, set it live, test it with one record, and let the Event Webhook write bounces and unsubscribes back to your database while a person reads the weekly numbers.

Disclosure: I may earn a commission through some links on this site. It does not change what this page says.

An onboarding drip is the one campaign where the exit matters more than the entry. A trial user who upgraded on day three and still gets "have you tried the dashboard?" on day ten learns that your emails are not written for them. SendGrid's exit rules handle that, if the segment carries the upgrade. What the two SendGrid products are and cost is in the SendGrid glossary entry.

Before you build:

  • Contacts and sends, worked out. For example, 2,500 signups a month and a six-email series is 2,500 x 6 = 15,000 sends a month at most, and fewer once upgrades exit early; Advanced allows up to 200,000 contacts and 1,000,000 sends, so this plan is sized by the feature, not the volume (Marketing Campaigns pricing).
  • The consent basis. Article 13 of the ePrivacy Directive requires prior consent for direct marketing email to individuals, with an exception for a seller's own similar products offered to existing customers; whether a trial signup is a customer is a question for your counsel, and the rules for business recipients are set per country.
  • A baseline and a holdout. Take the trial-to-paid rate for the last three months from billing, then keep one signup in ten out of the list for four weeks; the gap between the nine and the one is the series' effect, and no dashboard gives it to you.
  • Access to your DNS host, the app's signup code and a URL that accepts POST requests.

1. Authenticate the domain

Go to Settings, Sender Authentication, Domain Authentication. Enter the root domain only; with automated security on, Twilio gives you CNAME records and manages SPF and DKIM behind them, plus a DMARC record. Verification can take up to 48 hours, some DNS hosts append your domain to CNAME values, and subdomains do not inherit the result (domain authentication guide).

2. Sender, unsubscribe group and list

Twilio's prerequisites for an Automation are a notification email, an unsubscribe group, a sender and a contact list (Automation guide). Create an unsubscribe group called Onboarding; the editor's default unsubscribe block carries the sender's postal address and the unsubscribe and preferences links (unsubscribe groups guide). Then create the list Trial Signups and two custom fields, Plan Type as Text and Trial Start as Date; custom fields take Text, Date and Number (contacts guide).

3. Push signups from the app

At signup, the app calls PUT https://api.sendgrid.com/v3/marketing/contacts with the email, the list ID in list_ids and the two fields in custom_fields. The call is asynchronous, answers 202 with a job ID you can check with the Import Contacts Status endpoint, takes up to 30,000 contacts or 6 MB per request, and the custom fields must exist before you set them (Contacts API reference). When the user upgrades, call it again with Plan Type set to Paid: the same endpoint updates. This is the automation step; the human check is a person reading the first job's status and the first fifty contacts before anything goes live, because a wrong field name puts a month of signups in the wrong group. Deleting and re-adding contacts counts toward the monthly limit of added contacts (contacts guide), so update rather than recreate.

4. Build the segment

Segments are dynamic groups built from conditions on reserved fields, custom fields and engagement, joined with AND or OR: Plan Type equals Free, and Trial Start within the last 30 days. A segment feeding an active Automation refreshes every hour, and an Automation entered from a segment runs on that refresh schedule rather than the moment the contact qualifies (segmentation guide).

5. Create the Automation

Go to Marketing, Automations, Create an Automation, and choose Custom. Set the entry criteria to the segment; the default is All Contacts, and left alone, every contact you ever add joins the series. Set the exit to "No longer meet entry criteria", which checks membership before each send, so an upgrade stops the drip; the other option, a custom condition, is limited to 15 exit criteria per account. Add the emails, set the timing block between them in days or hours, and keep the workflow to 10 messages, because "longer workflows risk server timeouts and save failures". Save, open Automation Options and click Set Live; contacts added before it is live are not sent to (Automation guide).

6. Test with one record

Push one test contact through the API, wait for the hourly refresh, and watch it enter. Advanced includes 60 email testing credits for rendering and spam checks (Marketing Campaigns pricing); spend two on the first and last email. Any edit to a live Automation stays flagged until you click Save and Apply (Automation guide).

7. Write the events back

Go to Settings, Mail Settings, Webhook Settings, Event Webhooks, and Create new webhook. Enter the Post URL, choose bounce, dropped, spamreport, unsubscribe, group_unsubscribe and click as the actions, and turn on signature verification. If your server does not answer 2xx, Twilio retries at increasing intervals for up to 24 hours (Event Webhook guide). Each event arrives with the email, a UNIX timestamp, the event type and the sg_message_id Twilio attached to the message (event types). Store them against the user. The human check: a person reads the weekly bounce and spam-report list before any account is flagged, and nobody puts personal data in categories or unique arguments, which Twilio stores as not-PII fields and keeps long-term (Event Webhook guide, Automation guide).

8. Read the numbers, then the holdout

Each Automation shows Emails Triggered, Delivered, Unique Opens, Unique Clicks, Bounces, Unsubscribes and Spam Reports, and lists every link separately with its position in the email (stats guide). The number the series exists for is trial-to-paid, and that comes from billing: after four weeks, the rate among the nine in ten who got the series against the one in ten who did not.

Advanced lists "access to dedicated IPs" among its reasons to upgrade, and Twilio's own warm-up guide recommends a dedicated IP only above 50,000 emails a month, starting a new one at 20 emails an hour on day 0 (IP warm-up guide); the plan page sells the IP, the guide tells you not to switch it on at this volume. Stay on the shared pool until the guide's number, not the plan's, says otherwise.

What Twilio's docs flag

  • The entry default. All Contacts is the preset; change it or the whole list enters (Automation guide).
  • Disabling. A disabled Automation stops adding contacts; set live again, they resume where they were.
  • Deleting a segment attached to a scheduled send means those contacts may not receive it (segmentation guide).
  • The trial clock. When the 60-day Marketing Campaigns trial ends, the console locks and sending stops until an upgrade; the data stays but cannot be reached (trial article).

FAQ

Can I run this on Basic Marketing Campaigns?

No. Automation is listed on the trial and on Advanced, and the guide says to upgrade to Advanced to use it (Marketing Campaigns pricing, Automation guide).

How soon after signup does the first email go out?

After the next hourly refresh of the segment plus the timing on the first email; an Automation entered from a segment runs on the refresh schedule, not at the moment of entry (segmentation guide).

Does the series stop when someone upgrades?

Yes, if the exit is "No longer meet entry criteria" and the app updates Plan Type through the API; Twilio checks membership before each send (Automation guide).

TAGS
SendGridTwilioDrip CampaignEmail AutomationEvent WebhookSaaS Onboarding

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Senior marketing execution

A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.

With Joris van Huët, interim and fractional CMO in Utrecht. From EUR 5,000 a month, monthly cycles, a 30-day exit.