The Send Checkout Link action sends a checkout link by email, triggered from any Shopify Flow workflow. It can send to one customer, a list of emails, or a whole segment from a Get customers step. The email goes out through your connected Klaviyo account, using a template Checkout Links installs for you.
For an overview of how Checkout Links works with Shopify Flow, see Shopify Flow.
Before you start
Two things need to be in place:
Klaviyo connected — The action sends through Klaviyo, so you need to connect Klaviyo first. See Setting up the Klaviyo integration. Your Klaviyo logo and brand colour are pulled into the email template automatically
A checkout link to send — Pick an existing link inside the action's Email settings, or pass one in from another step
How to add the action to a Flow
In Shopify, open Flow and click Create workflow
Pick any trigger — for example Order created, Customer tag added, or a scheduled trigger
Click Add action and choose Checkout Links > Send Checkout Link
Click Configure to open the Email settings page and design the email
Back in the Flow editor, fill in Customer, Recipients, and Link as needed (see below)
Turn the workflow on
Email settings
Open the configuration page from the Flow editor to design the email. Every text field supports template variables.
Subject — The email subject line. Required
Banner text — Small text above the hero image. Optional
Hero image — A full-width image pulled from your shop's images or uploaded. Optional
Headline — A large heading shown above the body. Optional
Body text — The paragraph of copy. Optional
Button text — The call-to-action label. Defaults to Get your link. The button uses your Klaviyo brand colour
Checkout link — The link the email points to. Pick any link (Dynamic or not) using the search picker
Show link items — Toggle. When on, the email shows a three-column grid of the link's products under the button
Single use per recipient — Toggle. When on, each recipient gets a unique link that only works for them and burns after use. See below
Flow fields
In the Flow editor, three fields control who gets the email and which link they get:
Customer — The default recipient. Usually the customer from the trigger. Used when Recipients is left blank
Recipients — Optional override. Use this to send to someone other than the trigger customer, or to send in bulk. Accepts:
A single email — [email protected]
Several emails separated by commas — [email protected],[email protected]
A segment handle from a Get customers step — fans out automatically to everyone in the snapshot
Link — Optional override. Use this to override the link picked in Email settings. Accepts a shortcode or a full URL from a Use dynamic link step
If both Customer and Recipients are filled in, Recipients wins. If both the picker and the Link field are set, Link wins.
Template variables
Use these variables anywhere in the subject, banner, headline, body, or button — they're swapped in per recipient before the email is sent.
{{first_name}} — Recipient's first name
{{last_name}} — Recipient's last name
{{email}} — Recipient's email address
{{items}} — Number of items in the link's cart
Fallbacks. Add a fallback inline using a pipe: {{first_name | 'there'}}. If the recipient has no first name, "there" is used instead. Quotes are optional, whitespace is forgiving, and variable names aren't case-sensitive. The Email settings page has a Variables helper that copies the variables with a sensible default for you.
This is Checkout Links syntax, not Liquid — use {{first_name | 'there'}}, not {{ first_name | default: 'there' }}. Unknown variables are left untouched, so Klaviyo's own personalization tags still work alongside ours.
Single use per recipient
By default, a checkout link can be used as many times as you allow. That's fine for most flows. Sometimes you want a stricter guarantee — a link that only works for the customer you sent it to, and only once. Toggle Single use per recipient to get that behaviour.
How it works:
Each recipient gets a unique URL with a one-time code attached
The first time they click and complete checkout, the link is "burned" and won't work again
If they click but don't finish, the link still works the next time they try
Single-use links expire 90 days after being sent
Use it for one-off VIP offers, gift links, support recoveries, or any send where you don't want the discount or cart shared around.
Chain patterns
Send Checkout Link works on its own or as the last step in a chain with Get customers and Use dynamic link. Here are the four patterns we see most often:
1. Solo send — the simplest. Send a configured link to the trigger customer.
Trigger (e.g. Order created)
Send Checkout Link — Customer from the trigger, Link picked in Email settings
Use case: "Send a thank-you link to every customer who places an order."
2. Bulk to a segment — fan out the same link to everyone in a segment, tag, or query.
Trigger (e.g. Scheduled time)
Get customers — Segment: VIP customers (or a tag/query)
Send Checkout Link — Recipients = the segment handle from step 2, Link picked in Email settings
Use case: "Every Monday, send our VIP segment a curated link."
3. Per-customer customized link — same link, but customized per trigger (e.g. with the order's items).
Trigger: Order created
Use dynamic link — pick a Dynamic Link, set Cart items from the order, Customer from the order
Send Checkout Link — Customer from the trigger, Link = URL from step 2
Use case: "After an order, send the customer a one-click reorder link with their items pre-filled."
4. Bulk + per-recipient customization — fan out a customized link to a segment. Each recipient automatically gets the URL with their own customer pre-filled at checkout.
Trigger (e.g. Scheduled time)
Get customers — Query: tag:vip
Use dynamic link — pick a Dynamic Link (e.g. "VIP exclusive")
Send Checkout Link — Recipients = segment handle from step 2, Link = URL from step 3
Use case: "Send our VIP segment an exclusive link; each one lands in checkout already signed in as themselves."
More example workflows
Reorder reminder — Trigger 30 days after Order created, send a reorder link with the previous items pre-loaded
Win-back — Trigger when Customer tag "lapsed" is added, send a discounted checkout link with single use turned on
VIP early access — Trigger when a customer crosses a spend threshold, send a private launch link with single use turned on
Post-purchase upsell — Trigger on Order paid, send a link with complementary products in the cart
Tips
Bulk sends (a segment handle or comma-separated emails) are queued and dispatched asynchronously. The Flow step shows success straight away — the emails go out in the background
When you send in bulk, each recipient automatically gets the link's customer parameter swapped to their own customer, so everyone lands in checkout pre-filled as themselves
Test sends to yourself first by setting Recipients to your own email — that bypasses the Customer field and uses your name/email in the template
