Stop offers after purchase: Check for a completed order before sending first-purchase offers; Use payment captured or fulfilment accepted as 'bought' if that matches your system; Route customers who bought to post-purchase messages instead of sales offers
Image: Lifecycle Marketing Lab

Channel Orchestration

Part of First-purchase lifecycle journeys

Suppressing an offer after a customer has already bought

Check for a completed order immediately before a first-purchase offer is sent, and skip or replace the offer when one exists.

Check for a completed order immediately before sending a first-purchase offer. Skip the offer when one exists, or route the customer to a useful post-purchase message. An entry-time check is insufficient when a customer can purchase during a delay between messages.

Suppressing an offer after a customer has already bought

  1. Check for completed order before sending first-purchase offerVerify if the customer has already placed and completed an order (e.g., payment captured or fulfilled) prior to sending any promotional message.
  2. Define 'bought' based on your commerce system's logicChoose whether 'bought' means: order placed, payment captured, or fulfilment accepted—aligning with what your offer promises and how your system handles cancellations.
  3. Use Klaviyo profile filters to exclude customers who have boughtApply a profile filter using the tracked event that matches your definition of 'bought'—e.g., 'Order Placed' or 'Payment Captured'. Filters are rechecked before every email sent.
  4. Guard against delay window risksEnsure the profile filter is applied early in the flow (e.g., welcome series), not just at entry, so orders placed between messages don’t trigger unwanted offers.
  5. Replace suppressed offers with useful next stepsRoute customers who’ve already bought to a post-purchase journey (e.g., setup guides, care instructions) instead of leaving them in a dead path.

Define the order state

Define whether “bought” means an order placed, payment captured, or an order accepted for fulfilment. The answer depends on what the offer promises and how the commerce system handles failed or cancelled orders. Choose the event that protects the customer experience without incorrectly suppressing people whose purchase never completed.

In Klaviyo, use the tracked metric for placing an order as the purchase signal if that matches your definition of “bought”. Add a profile filter to exclude profiles with that order activity; profile filters are checked when people enter a flow and before every email is sent. If your rule is payment captured or fulfilment accepted, use the corresponding event only if your integration sends it to Klaviyo, and verify that event in the account.

Defining 'bought' – Key decision points

  • Order PlacedUse if the offer is tied to initial intent. May include failed or cancelled orders unless filtered out.
  • Payment CapturedMore reliable signal; ensures payment was processed. Ideal for offers tied to confirmed purchases.
  • Fulfilment AcceptedStrongest signal for completed transaction. Best for post-purchase messaging but may delay suppression.

Using 'payment captured' vs 'order placed' as purchase signals

  • Pros: Payment CapturedMore accurate—ensures the purchase was confirmed and paid for. Reduces risk of suppressing users who didn't complete payment.
  • Cons: Payment CapturedMay delay suppression if payment takes time to process. Not suitable for immediate post-purchase messaging.
  • Pros: Order PlacedEnables earlier suppression. Useful for time-sensitive offers.
  • Cons: Order PlacedIncludes abandoned or cancelled orders, risking incorrect suppression.

Guard the delay window

Add the profile filter to the welcome flow so it is checked before the offer email, rather than relying only on a trigger filter at flow entry. Klaviyo profile filters are rechecked before every email, so an order placed after the welcome message can suppress a later offer. A welcome series may send immediately, followed by 2 or 3 other emails a few days apart; check each offer email rather than assuming a particular delay is safe.

Test a profile that buys after the welcome message but before the incentive. Confirm it does not receive the incentive, then test a person who has not bought and should still receive the intended message.

Also check whether orders from guest checkout, another store or delayed integrations appear as order activity on the same profile. If they do not, the profile filter cannot suppress the offer on their basis; verify the integration and profile association before relying on the check.

A cancellation or refund needs an explicit rule. The team may decide to re-qualify that customer later, but an automatic re-entry can be awkward if it fires during a service issue. Keep that decision out of an opaque “has ordered ever” filter and document it for support staff.

Post-purchase offer suppression best practices

  • Apply profile filters early in the flowEnsure checks occur before each email, not just at entry point.
  • Test customers who buy after welcome messageConfirm they do not receive the incentive if purchase occurs during delay window.
  • Verify guest checkout and cross-store orders appear correctlyEnsure all purchase activity is linked to the correct profile in Klaviyo.
  • Handle cancellations/refunds explicitlyDo not rely on a generic 'has ordered ever' filter; document re-qualification rules.

Replace with a useful next step

When the order filter excludes someone from the prospect offer, do not leave a dead journey if the customer needs care instructions or setup help. Route them to a separate post-purchase communication where appropriate, with its own purpose and permission checks. Avoid adding a sales message so quickly that it conflicts with the order confirmation.

Review logs of skipped offers and a sample of delivered messages after launch. In Klaviyo, open the first message, select View details in the Performance section, then check the Recipient Activity tab; compare a delivered offer with the profile’s order activity and flow timing. A high count of skipped messages may be healthy if customers bought promptly, or it may reveal that the offer is scheduled too late. A delivered offer after purchase is a defect to diagnose at the data and timing level, not a copywriting problem.

Key metrics to monitor after launch

  • Skipped offer countHigh count may be normal if customers buy quickly—verify timing and data accuracy.
  • Delivered offer after purchaseIndicates a defect in timing or data sync—diagnose at data level, not copywriting.
  • Recipient Activity matchCompare delivered message timing with profile’s order history to confirm suppression worked.

More from Channel Orchestration