{{ event.PropertyName }}. Event and property names are exact — copy them as written. The full list is in the Event Reference.
Abandoned Checkout
Bring back a customer who reached checkout but did not pay. Needs the Public API Key / site ID on the store, because Started Checkout is a browser event.- Trigger: Started Checkout
- Time delay: 30 to 60 minutes works well for food
- Flow filter: has not done Placed Order since starting this flow
- Send a reminder using
{{ event.ItemNames }}and{{ event.Value }}, and link the button to{{ event.CheckoutURL }}
The basket lives in the customer’s browser and is cleared roughly ten minutes after they leave, so by the time the reminder lands they will usually need to re-add their items. Loop over
event.Items to show ProductName, Quantity and ProductImage so they can rebuild it in a tap.Browse Abandonment
- Trigger: Viewed Product
- Time delay: a few hours
- Flow filters: has not done Placed Order since starting this flow, and has not done Started Checkout since starting this flow
- Feature the dish with
{{ event.ProductName }}and{{ event.ProductImage }}; link to{{ event.ProductURL }}
Categories contains Mains (or whichever category) to keep this to dishes worth a nudge rather than every side or drink.
Post-Order Thank You
- Trigger: Fulfilled Order — fires when you mark the order complete, so the customer has their food
- Time delay: 1 to 2 hours
- Thank them by name with
{{ person.first_name }}, mention{{ event.ItemNames|join:', ' }}and offer a code for next time
Reorder Reminder
- Trigger: Ordered Product
- Time delay: 2 to 4 weeks
- Flow filter: has not done Placed Order since starting this flow
- Use
{{ event.ProductName }}in the copy: “Time for another Margherita?”
Quantity is at least 1 and ItemPrice is at least 8 (or similar) so the flow keys off a main, not a dipping sauce. Because one order sends one Ordered Product per dish, set the flow’s smart sending or a profile filter so the customer only enters once per order.
Win-Back
- Create a segment: Placed Order zero times in the last 45 days and at least once overall
- Trigger a flow when a profile is added to the segment, or send a campaign to it with an offer
- Personalise with the customer’s usual store —
VenueNameon their last Placed Order — so the offer is redeemable somewhere they actually visit
Cancellation and Refund Follow-Up
- Trigger: Canceled Order or Refunded Order
- Send an apology and a discount for their next visit;
{{ event.OrderCode }}is the short code the customer saw on their receipt, and on Refunded Order the event value is the amount refunded - Add the profile to a “recently apologised” segment that is excluded from promotional campaigns for a few days
Pre-Order Reminder
- Trigger: Placed Order with a trigger filter
IsPreOrder equals true - Delay until
{{ event.PreOrderDateTime }}minus a couple of hours (Klaviyo’s “wait until a date property” step) - Remind them what is coming and when, with
{{ event.ItemNames }}and{{ event.FulfillmentMethod }}
Review Flows
These trigger on the review events sent when you use storekit’s feedback requests — see Review Events to enable them.Thank positive reviewers
- Trigger: Positive Review Submitted
- Thank them and link to your Google or TripAdvisor page, or offer a reorder code
- Include
{{ event.ReviewContent }}so they recognise their own words
Recover negative reviews
- Trigger: Negative Review Submitted
- Send an internal notification to your team with
{{ event.Rating }},{{ event.ReviewContent }},{{ event.OrderCode }}and{{ event.VenueName }} - Send the customer an apology with a voucher after a short delay
- Split on
FoodRating,ServiceRating,AtmosphereRatingandValueRatingif you want a different message for a cold pizza versus a slow queue
Dish-level follow-up
- Trigger: Reviewed Product with a trigger filter
Rating is less than 3 - Use
{{ event.ProductName }},{{ event.Comment }}and{{ event.Reasons }}in an internal notification to the kitchen
Review reminder
- Trigger: Review Requested
- Time delay: 1 day
- Flow filter: has not done Review Submitted since starting this flow
- Send a reminder linking to
{{ event.ReviewUrl }}
Multi-Store Accounts
Every order and review event carriesVenueName and VenueSlug (browser events such as Started Checkout carry VenueSlug only), so one flow can serve every store:
- Branch per store — add a conditional split on
event.VenueSlugto swap the logo, address or offer. - Restrict to one store — add a trigger filter
VenueSlug equals soho. - Segment by store — a segment condition of Placed Order where
VenueSlug equals sohoat least once gives that store’s customers.
Related
Event Reference
Every event and property, with units
Menu Catalog Sync
Show dish images and prices from your catalog