Expand
Rate this page:

Evaluate and Plan Your Strategy

This Onboarding Guide describes a program architecture recommended for a direct brand. A direct brand sends email to its own customers directly. Alternatively, an independent software vendor (ISV) uses Twilio SendGrid to send email on behalf of its customers. The architecture described is not ideal for an ISV. See an example ISV architecture on the Twilio SendGrid blog.

Welcome to the "Evaluate and Plan Your Strategy" milestone of the Twilio SendGrid Onboarding Guide. In this section, you will see Twilio SendGrid's recommended program architecture. By the end of the milestone, you will understand why we recommend this architecture, and you will have a high level understanding of the Twilio SendGrid features that comprise it.

In this Onboarding Guide section, your team will:

  • Understand Twilio SendGrid features and how to combine them into a program architecture.
  • Gather the information needed to build your program in the next milestone.
  • Select a Twilio SendGrid package.

Step 1: Recommended architecture | recommended

Twilio SendGrid recommends that direct brands — brands that send email directly to their own customers — divide their marketing and transactional mailstreams between Subusers.

Our best practice is to set up your account with the architecture outlined in the following diagram. We'll break down each piece of this diagram in the remaining sections of this milestone, so don't worry if you're unfamiliar with mailstreams, Subusers, or any other vocabulary you see here.

The Twilio SendGrid parent account sits at the top of this architecture. The parent account then has two Subusers, each of which have their own resources and settings.

Email Direct Brand Architecture

Mailstreams: transactional vs marketing email

Transactional and marketing emails function differently and may require different approaches to set up. Transactional email completes a transaction initiated by the recipient. Classic examples are order confirmations, password resets, or shipping notifications. Marketing email aims to prompt a behavior by the recipient such as signing up for an event, making a purchase, or reading an article.

For the purposes of planning, it's more helpful to think of how transactional, and marketing emails differ in their operation. Transactional emails are automated, event-driven responses to recipient activities. Marketing emails are campaigns designed by a marketing team to a select audience at a select time.

With that in mind, transactional messages should always be handled by automated API calls, while marketing messages can either be built and sent from our Marketing Campaigns product or by calling the API directly with code.

In our architecture diagram, we assign a Subuser to each mailstream.

Subusers

Subusers are available on Pro and Premier plans, and you can think of them as subaccounts. Each Subuser can have its own sending domains, IP addresses, and reporting. Even if you don’t plan on sending both transactional and marketing mail right away, setting up an initial Subuser is a helpful way to plan for the future.

Sending domains

Domain authentication is required by Twilio SendGrid to verify you as a trusted email sender. Determine which domains you plan to use, and be sure you are able to modify the DNS records associated with those domains. Our best practice is to designate a unique subdomain for transactional mail and a separate unique subdomain for marketing mail. For example, t.example.com for transactional mail and m.example.com for marketing mail.

You will complete domain authentication, link branding, and reverse DNS set up in the next milestone. For now, it's important to decide which domains you plan to use for each mailstream.

Email volume

Do your best to estimate the amount of email you will send. If you are migrating an existing program to Twilio SendGrid, you may have numbers already available. However, if you are creating a new program, volume can be difficult to anticipate. We recommend considering the size of your customer base and targeting a high send mark for the customer growth you expect in the next 3 months.

With an estimate of your sending volume, you will have an early idea about how many IP addresses you may require.

Free Twilio SendGrid accounts send email through our shared IP addresses. We monitor our shared IPs for suspicious sending activity and protect our customers' sending reputations. However, the best way to take full control of your sending reputation is by sending from dedicated IP addresses. Download our IP Warmup Schedule to see how we recommend allocating IP addresses by volume. IP Warmup is discussed in detail in the next milestone.

Step 2: Package selection | required

Selecting the right Twilio SendGrid package can reduce friction early on; however, it's always possible to adjust your package selection as needed. Twilio SendGrid provides packages based on email volume, contact count, and feature availability.

Now that you've estimated how many emails you are likely to send and decided if you will divide your mailstreams among Subusers, you can use the Twilio SendGrid pricing page to select a package.

Note that some of the features that allow you to fully configure your program architecture are available with Pro and Premier plans only. You can still get started for free, and keeping these architecture steps in mind will help you plan for eventual scaling.

Definition of Done

  • Understanding of mailstreams.
  • Understanding of Subusers.
  • Estimated sending volume.
  • Identified domains.
  • Twilio SendGrid package selected.
Rate this page:

Need some help?

We all do sometimes. Get help now from the Twilio SendGrid Support Team.

Running into a coding hurdle? Lean on the wisdom of the crowd by browsing the SendGrid tag on Stack Overflow or visiting Twilio's Stack Overflow Collective.

Loading Code Sample...
        
        
        

        Thank you for your feedback!

        Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        thanks-feedback-gif