The 4-Step Offer Flow Builder
To create a new post-purchase flow, go to Grow → Post-Purchase Offer and click Create offer.
The builder is organised into four progressive steps on the left and a Status, Priority & Live Phone Preview rail on the right.
Step 1: Name Your Offer
Enter an internal Offer name (for example, "Shaker bottle cross-sell" or "Coffee 1-time to Sub Upgrade").
This name is used in your Offer Flows table, priority modal, analytics filters, and multilingual settings.
Customers never see this internal name on the storefront.
Step 2: Choose Who Sees This Offer (Optional Targeting Conditions)
Targeting conditions control which checkout orders qualify to see this offer flow.
Note: If you add no conditions in Step 2, the offer profile automatically matches every eligible checkout order.
How AND / OR Conditional Logic Works
Loop uses a two-level logic engine to evaluate targeting rules:
AND logic between Condition Blocks: Every Condition Block (Condition #1, Condition #2, etc.) is joined by an AND divider. All blocks must evaluate to true for the flow to trigger.
OR logic within a Condition Block: Inside any single Condition Block, you can click + Or at the bottom-left of the card to stack alternative conditions. If at least one condition inside the block matches, that block passes.
Complete Targeting Condition Catalog
When you click + Add condition, a searchable modal opens with 11 targeting rules grouped into three categories:
1. Checkout Order Based
Condition Name | When It Triggers |
Order contains a specific product | Checkout order includes the specified product. |
Order does not contain a specific product | Checkout order not includes the specified product. |
Order contains a subscription | Checkout order contains at least one subscription line item. |
Order contains one-time purchase only | Every line item in the checkout order is a one-time purchase (zero subscriptions). |
Order total | Checkout order subtotal meets the checkout total amount threshold. |
2. Customer Based
Condition Name | When It Triggers |
Customer tag present | The customer's Shopify profile carries the specified tag. |
Customer tag not present | The customer's Shopify profile does not have the specified tag. |
3. Demographic Based
Condition Name | When It Triggers |
Countries present | Shipping address country matches one of the listed countries. |
Countries not present | Shipping address country is outside the listed countries. |
TIP
Creating a Catch-All Flow:To create a store-wide catch-all safety net, leave Step 2 empty and assign the flow the lowest priority number in your flow list.
Step 3: Build Your Primary Offer (Mandatory)
Select an Offer Type: Choose Upgrade to subscription, Subscription upsell, or Cross-sell from the dropdown.
Select Products & Variants: Click Select product to open the product/variant modal.
Configure Purchase Options, Selling Plans & Discounts: Set up your one-time discount and/or selling plan frequencies.
Configure Post-Purchase Shipping Fee:
Free shipping (Default): No extra shipping fee is charged when the customer accepts the offer.
Charge for shipping: Enter a flat Shipping fee that is added on top of the shipping fee the customer already paid during checkout.
Configure Countdown Timer: Enter the whole number of minutes in Expires after.
Note:
Combined Timer Budget Rule: The total of all countdown timers across a single path (Primary offer timer + any follow-on offer timers) must be at least 1 minute less than your configured Checkout Delay.
For example, if your Checkout Delay is 10 minutes, a Primary offer timer of 5 minutes and an On Accept follow-on timer of 4 minutes (5 + 4 = 9 minutes) is valid. A total of 10 minutes or more (e.g., 5 + 5 = 10 minutes, or 6 + 5 = 11 minutes) will be blocked from saving.
Post-Purchase Shipping Fee: For subscriptions, shipping is recalculated based on your store’s shipping profiles.
The post-purchase shipping fee applies only once, at the time the offer is accepted.
TIP
You can select any selling plan mapped to the product, even if it’s not available on the storefront.
This lets you create exclusive post-purchase offers with higher discounts or more compelling pricing.
Step 4: Add Follow-On Offers (Optional)
Step 4 allows you to show a second post-purchase offer based on what the customer does on the Primary offer:
On accept: Check this box to configure a follow-on offer shown only when the customer accepts the Primary offer.
On decline: Check this box to configure a follow-on offer (downsell) shown only when the customer declines the Primary offer.
Mixing Offer Templates in Step 4
Each follow-on offer has its own complete Offer Builder and can use a different offer type from the Primary offer.
Example profile A: Primary = Upgrade to subscription (convert one-time coffee to monthly subscription) → On Decline = Cross-sell (offer a $4.00 one-time coffee sample pack).
Example profile B: Primary = Subscription upsell (upgrade monthly subscriber to 3-pack) → On Accept = Cross-sell (offer a branded stainless steel scoop at 20% off).
Managing Your Offers Dashboard & Priority Order
When you open Grow → post-purchase offer in Loop, the Overview tab displays Offer Profiles Table.
How Priority Order Works
When an order completes checkout, multiple offer profiles might match that order. Loop evaluates active profiles strictly from Priority 1 (highest) downward.
Only the highest-priority matching profile runs for a given checkout.
Once a profile is selected, the customer stays within that profiles (Primary offer → Follow-on offer) and will not jump into lower-priority profiles.
Actions on Individual Offer Profiles
Click the three-dot menu (⋯) on the right of any offer row to:
Activate / Move to draft: Toggle whether the offer is live after checkout.
Edit: Open that profile’s configuration.
Duplicate: Create an immediate copy ([Offer Name] (copy)) right below the original profile.
Delete: Permanently remove the offer profile.





