Skip to content
Automation

Checkout abandonment in Klaviyo: guiding customers back to the shop

A product in the shopping basket and a checkout process that has been started represent different stages of a purchasing decision. In Klaviyo, too, the associated data and messages must be kept separate. This guide explains the Shopify events and shows how to synchronise two flows.

Illustration of a shopping basket with an accompanying email message.
Illustrative artwork, AI-generated.

At a glance

On Shopify, Klaviyo distinguishes between ‘Added to Cart’ and ‘Checkout Started’. Select the trigger that has actually been verified, align both flows and take purchases into account before each mailing. Events and technical identifiers do not replace verified consent for marketing messages.

What distinguishes the shopping basket from the checkout

A person collects products in the shopping basket and can continue to amend their selection. They begin the ordering process at the checkout. A reminder should address this stage: those who have only just made a selection may need product explanations; those who have left the checkout are more likely to need a clear way back and answers to any outstanding questions about their order.

The current Shopify data reference from Klaviyo lists Added to Cart and Checkout Started. The ‘Added to Cart’ event records a product added at the top level and is not a complete shopping basket snapshot. Other integrations or older metrics may use different names. Always check the source and actual usage data in the account.

Working distinction for a Shopify shop using Klaviyo
SituationCheck eventImplication for the content
Product addedAdded to Cart: Check event source, identification and product fields.Pick up on the selection without claiming that a checkout process has already begun.
Checkout startedCheckout Started: check event data and the available return link.Guide the customer through the order process and answer relevant questions regarding the order.
Order completedCheck that the order event corresponds to the correct shop.Use the planned exclusions to prevent further abandonment reminders.

First check the event, then build the flow

For the current Shopify ‘Added to Cart’ flow, Klaviyo refers to the activated app embed and the integration setting Track behavioral events as prerequisites. Please use the Guide to the Shopify ‘Added to Cart’ Flow for the appropriate integration level. Old custom tracking snippets should be checked for overlaps before any changes are made.

Test using a controlled profile: add a product, start the checkout process and then complete the purchase. Check the expected event after each step. If there are two metrics with similar names, select the trigger based on the successful test. A flow based on an old, deprecated metric may appear correct but still fail to receive any new entries.

Check separately whether the action has been assigned to a profile with a valid address and whether the dispatch requirements for the planned message have been met. A missing reminder may be due to identification issues, filtering, blocking or contacts within the flow. A further flow will not resolve an unresolved data gap.

Open a separate test profile and check the checkout entry: product name, variant, quantity, image and return link must be plausible. Compare the timestamp and basket value with those in the shop. The test should include more than one item so that errors in the repetition of product blocks are noticeable. Additionally, check a variant with special characters or a long description.

Coordinate both email flows with clear exclusions

For a checkout reminder, Klaviyo describes a profile filter that takes account of orders since entering the flow. Check any reminders from the shop too, so that the same situation does not produce duplicate messages. The Instructions for the abandonment flow shows the structure and exclusions of buyers.

Plan the transition explicitly: as soon as the customer has started the checkout process, the shopping basket flow should no longer send any conflicting reminders. If there are multiple ordering routes, their events must also be recorded and taken into account in the appropriate exclusions. First, set out the desired rules in plain text and only then implement the technical requirements.

Also check for reactivation, waiting periods and concurrent entries. Re-adding a product must not inadvertently lead the person into multiple competing reminders. Klaviyo re-checks profile filters before actions; trigger filters refer to the entry event. The Filter documentation helps explain this attribution.

Focus the message on a specific challenge

Start with a clear reminder and the appropriate link. Check dynamic product data against the actual event: name, variant, image, quantity and price. If fields are not provided reliably, the template needs a clear fallback. An empty product row or a link to the wrong market makes the message unusable.

A discount should only be included in the flow if it fits with the business plan. First, check which issues might hinder the sale: scope of delivery, choice of size, compatibility or contact options. Use statements that are supported by the landing page. A delivery promise must not be taken from a general template if it does not apply to the product shown.

Urgency requires a verifiable reason. A promotion with a real end date can be explained; a continually resetting countdown does not provide a reliable deadline. The email should not claim confirmed availability based only on an earlier event. Information may change between selection and reminder.

Test matrix: four scenarios prior to launch

Test using controlled test profiles; document expected exclusions
Test caseExpected behaviourWhat is checked
Added onlyThe appropriate shopping basket reminder may follow once the verified conditions have been met.Correct trigger, correct product data, valid link.
Checkout startedThe checkout flow takes over; a conflicting shopping basket reminder is ruled out.Transition filters and message volume across both flows.
Purchased before dispatchThe planned cart abandonment reminder is skipped due to the purchase exclusion.Source of order, time and documented reason for skipping.
Unsubscribed during the delayThe profile will not receive any further marketing reminders from this sequence.Current channel status and recipient activity.

Additionally, check the return link on a second device and the received email on a smartphone. Test an alternative product variant as well as a scenario with missing optional data. Record observations with a timestamp so that a delayed synchronisation can be distinguished from an incorrect filter.

Evaluate entries, exclusions and impact separately

First, consider how many matching profiles are entering the flow and why messages are being skipped. A purchase prior to the reminder is an expected exclusion. Instead, investigate any sudden gaps between events and entries. For this mapping, Klaviyo describes the Reasons for skipping flow messages.

You should then compare deliveries, clicks, orders and negative reactions per email flow using the same measurement criteria. Attributed revenue alone does not prove additional revenue. The email marketing metrics guide explains the limits of this attribution. In a Klaviyo audit we check the entire environment; under Flow management describes setup and ongoing improvement.

Example of a newsletter from our work

RAECKS displays a reminder of a voucher that has not yet been redeemed in connection with the completion of a purchase. A voucher value displayed in large type, the code field marked as a placeholder and a direct call to action form the opening, followed by service information.
RAECKS: Design example for a checkout reminder. Design example with voucher placeholder. The image export shows the design.

View more full-length newsletter images →

Sources and further documentation

Technical statements refer to the linked documentation. Examples and guidance are marked as such.

Book a discovery call

A free, 10-minute call with no obligation. We’ll get back to you within 24 hours.

We only use your details to arrange your call. Privacy policy