Klaviyo is a marketing platform for stores: a flow can start the moment a store event such as Started Checkout arrives. SendGrid is Twilio’s email delivery service, and its marketing automations start when a contact joins a list or segment, with the segments behind a live automation refreshed every hour.
How fast that entry happens is written down by both vendors. Twilio’s segmentation docs say “Segments with active automations or that are used as exclusion lists for scheduled Single Sends refresh every hour”, and that “Automations with entry criteria of a contact entering a segment will be triggered according to the same schedule as the segment sample refresh cadence described above.” Klaviyo’s flow-trigger article says “Someone will qualify to enter the flow as soon as they meet the trigger action.” So a segment-entry automation in SendGrid learns about a contact when the segment next refreshes, every hour while the automation is active, and store activity reaches the segment once it has been written onto the contact record; a Klaviyo metric-triggered flow is queued by the event itself. This comparison reads both vendors’ pricing pages and documentation as served on October 29, 2026. It is published by Relvino, which decides per shopper across email, SMS and pop-ups and so has a view on how a store’s messages should start; read it as informed but interested.
SendGrid’s old pricing address now redirects to Twilio, which says it merged the websites “to make things simpler.” Two email products are priced there, on different meters.
The two are bought separately. Twilio’s FAQ: “If you want to use Marketing Campaigns and the Email API, you will need to purchase the email plans separately.” Sends are counted separately too: “emails you send via Marketing Campaigns will be counted separately from any emails you send via the Email API.” One billing detail matters for anyone comparing costs: on the Email API, a send uses a credit “whether the email is ultimately deferred or sent to spam by the inbox provider.” Twilio pitches the API at “developers looking to integrate email functionality directly into their applications or websites”. On that product, the brand’s code decides what is sent and when.
Automation lives in Marketing Campaigns, and its doc page opens with a plan note: “To access this feature, upgrade to Advanced Marketing Campaigns”. Twilio’s product page for the feature says the same thing in sales terms, a free trial and then “the Advanced plan, starting at $60 per month.” The mechanism is one sentence: “Once you create an Automation, the messages trigger when you add recipients to a linked list or segment.” There are two kinds, Welcome and Custom, and both ask the same entry question, which list or segment the series targets.
A segment is a saved filter over contacts. Twilio’s field tables list contact profile fields (name, email, phone number ID, external ID, address, date added), email activity (last clicked, opened, emailed), Single Send and Automation activity, and custom fields: “Segments can have any combination of custom field, reserved field, Email Activity, Single Send, or Automation conditions.” There is no order, cart or product field in those tables. Store behavior enters only as data written onto the contact, such as a custom field, or as a list the contact is added to.
Twilio’s product page for automation promises more than the field tables show: “Automatically trigger communications based on customer actions like purchases or abandoned carts”. The docs supply the parts rather than a recipe, and there are two routes in. A developer (or a customer data platform) can write the cart into a custom field, which a segment filters on and the automation picks up on the segment’s next refresh. Or the same contacts call can name a list, since its list_ids field is “An array of List ID strings that this contact will be added to.” Either write is queued; the contacts API reference says “Because the creation and update of contacts is an asynchronous process, the response will not contain immediate feedback on the processing of your upserted contacts.” The docs give no timing for list entry beyond that. The automation endpoints in Twilio’s API reference index are statistics, so the contacts API is the documented way in.
The same page asks builders to “Keep workflows to 10 messages, longer workflows risk server timeouts and save failures.” An exit rule acts on a delay too: contacts who meet a custom exit condition “exit the Automation series within 24 hours.” A one-off Single Send behaves differently; “Marketing Campaigns will pull the segment at the time of send, reflecting the near-real-time segment population.” So the hourly cadence is a property of segment-based automation entry, not of SendGrid’s sending. Basic and Advanced accounts can also refresh a segment by hand outside that cadence, limited to “Two refreshes per segment per day.” The page does not say whether a manual refresh moves contacts into an automation.
Klaviyo’s help center lists six flow triggers: added to a list, added to a segment, a metric, a date property, a price drop and low inventory. The metric trigger is the store-event one: “This action can be any event activity captured through an integration (e.g., started a checkout, placed an order, filled out a form) or events created via the Klaviyo API.” Its own example is the cart: “an abandoned cart flow would trigger off the Started Checkout event, with an additional profile filter to restrict the flow only to those who have not followed through with placing an order.” Profile filters are checked on entry and again before flow actions, “such as sending an email or SMS.”
SendGrid documents one entry path, list or segment membership; Klaviyo documents that path and an event path beside it. One detail runs the other way: a SendGrid segment can be built on opens and clicks, while Klaviyo’s metric trigger leaves them out: “Performance metrics such as Opened Email and Clicked Email cannot be used to trigger flows.” Klaviyo’s segment-triggered flows enter on data, not on edits: “A flow triggers only when a profile’s data causes them to organically enter the segment.” The article covering that trigger gives no refresh schedule of its own.
On SendGrid, a receipt or password reset is simply an Email API call from the application that knows about it, and Twilio sells that product on its own plan. Klaviyo routes the same message through a flow. Its help article on transactional email says they “Are only available for metric-triggered flows (such as Placed Order).” A message that originates in the brand’s own code needs an event first: “a password reset email would need a corresponding Password Reset event, which would need to be configured as a custom metric.” List- and segment-triggered requests go “through support” and “may take longer to be approved.” The approval steps, and the legal test for what counts as transactional, are covered in the transactional vs marketing email guide.
A Shopify brand may not need either for its order notifications. Klaviyo’s Shopify template article says “All Shopify notification emails are sent through Shopify, not Klaviyo.” Klaviyo lets a brand restyle those templates and paste them back into Shopify, and its transactional article warns that a brand moving a notification into Klaviyo should switch off the platform’s copy or risk double-emailing people.
The infrastructure split shows up in Klaviyo’s own settings. Its article on IPs says “Klaviyo automatically assigns shared IP addresses to most new accounts” and “dedicated IPs are only available to accounts that qualify.” Where an account has dedicated IPs, the settings list an email type for each, marketing or transactional. On SendGrid’s Email API, a dedicated IP comes with the Pro and Premier plans rather than with a qualification.
One page in the search results for this comparison is Twilio’s customer story about Klaviyo. It says Klaviyo “decided to build its email platform upon Twilio SendGrid’s Email API”, and that Klaviyo chose Twilio’s APIs for its SMS product. The page carries no date, and Twilio is writing about a customer. Klaviyo’s current help center describes its click tracking differently: “If View records shows CNAME values pointing to sendgrid.net, your domain uses a legacy setup.” On the current setup, it says, the record “points to a klaviyodns.com address”. Neither vendor’s current documentation says what carries Klaviyo’s email today, and this guide does not guess.
Cart, browse and post-purchase messages key off store events, and Klaviyo reads them from the store integration and queues a flow on arrival. Marketing Campaigns can send to a store’s list, but a store event it acts on has to be written onto contacts first, by code, a data platform or an import, and a segment-entry automation hears about it on the next refresh. For a store that wants marketing to run from its catalog and orders without an engineering project, a marketing platform is the like-for-like choice. The Klaviyo competitors guide covers the other platforms in that group, and the Klaviyo vs Customer.io comparison covers the event-driven tools that sit between a platform and an API.
Account emails from a custom app, a subscription portal or a marketplace back end are written by the brand’s developers, and the Email API was built for that job: the code decides what to send and when, and SendGrid delivers it. Klaviyo can carry some of this through custom events and transactional approval, as above; the question is whether the brand wants those messages to depend on a marketing tool’s review queue.
Brands with their own software and a store may run both: the Email API for messages their code generates, a marketing platform for messages store behavior generates. Each meter then counts different things. Klaviyo bills on active profiles (its pricing grid is in the Klaviyo pricing guide); SendGrid’s Email API bills each send, including the ones that land in spam, which makes the list cleaning work on the API side a direct cost line. Relvino’s own meter is different again: one monthly plan by list size, set out on the Relvino pricing page.
Relvino replaces the flow stack in a store’s marketing program. It decides per shopper across email, SMS and pop-ups, in under 80ms, using a Large Retail Model trained on 7M+ data points across 10K+ retailers, inside guardrails the brand sets, and it sends on its own infrastructure, with 99.5% deliverability and under 0.5% spam. Orion Sleep, which replaced its Klaviyo flows, saw 50% higher revenue than Klaviyo’s flows; the Orion Sleep case study shows how. The Klaviyo vs Relvino comparison sets the two side by side for brands weighing that switch.
For anyone choosing between the two products in this query, the docs reduce the choice to one question: what starts a message. If it is a line of the brand’s own code, that is an API’s job. If it is a shopper starting a checkout, the tool has to hear the event, and how it hears it is written in its documentation.
It depends on the job SendGrid was doing. For email sent from an application, Twilio’s own Email API page names the rivals it compares itself with: Mailchimp, Mailgun, Amazon SES, Bird and Brevo, across pricing, setup, analytics and deliverability. For a store’s marketing program, the comparison that matters is with marketing platforms that read store events directly, such as Klaviyo, rather than with other sending services. A brand that uses SendGrid only because its developers already had an account is usually choosing between those two groups, not within one.
Klaviyo’s own help center documents several limits worth knowing before building on it. Metric-based trigger filters are only checked when someone first enters a flow, so they gate entry and nothing after it. Importing profiles to a list triggers any list-triggered flows, so a welcome series can fire at an imported list unless it is switched off first. Repeated events do not re-trigger a segment-triggered flow unless segment membership actually changes. Warming a new dedicated IP typically takes about 30 to 40 days, by Klaviyo’s account.
Twilio’s pricing page lists a 60-day free trial, Basic from $15 a month and Advanced from $60 a month, priced on contact storage, email volume and features; among the paid plans, the plan cards list Automation on Advanced and Custom but not Basic, and the free trial includes it. Going past a plan’s contact or email allowance is billed per extra email or contact, and the rate falls as plans grow: Twilio’s overage table shows $0.0040 on Basic 5K and $0.0023 on Basic 100K, and $0.0075 on Advanced 10K down to $0.0050 on Advanced 200K. The Email API is a separate purchase with its own plans.
Twilio’s integrations page lists one native integration type for Marketing Campaigns, a customer data platform, and one product in it: Segment, which Twilio sells as Twilio Segment. The link runs both ways. SendGrid can stream email events such as opens and clicks into Segment, and Segment can send data back through one action, a contact upsert that adds or updates a contact. Anything else, including store data, arrives through the contacts API, signup forms, a CSV upload or a manual edit.
It can design them, but Shopify still sends them. Klaviyo’s help center describes editing Shopify notification templates inside Klaviyo, then exporting the HTML one email at a time and pasting it into Shopify’s notification settings. Two cautions come with it: the variables in those templates are Shopify’s, not Klaviyo’s, and Klaviyo’s dynamic product blocks rely on Klaviyo product feeds, which do not populate in Shopify, so they have to be removed before export. The variables only fill in when the email is previewed in Shopify.
The technical cutover takes about 30 minutes: connect email and SMS, install the Shopify app, and share brand assets and any CRM data. Relvino reads the brand’s voice from its website, and the brand sets its guardrails. Revenue then comes through a 14-day pilot. Two things are worth listing first. Any Klaviyo flow email that carries approved transactional status loses it when edited, so record which ones carry it. And if the brand’s own app sends account email through SendGrid’s Email API, that traffic is separate from the marketing switch and keeps running as it is.