Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.digifist.com/llms.txt

Use this file to discover all available pages before exploring further.

Post-purchase cross-sell flows turn completed orders into additional revenue by recommending relevant complementary products while the customer’s purchase intent is still high. The key to relevance is branching on what was purchased — a customer who bought shoes is a natural candidate for an accessories recommendation, while a customer who bought a completely different category warrants a different message or no message at all. This recipe branches on product tag to send category-specific cross-sell recommendations.

Flow structure

Trigger: New Order Placed
→ Condition: Product in Order Has Tag = "Shoes"
    YES → Delay: 3 days
          → Action: Send accessories recommendation template
    NO  → (exit — no message sent for other categories)

Node-by-node breakdown

Trigger — New Order Placed

Trigger: ORDER_PLACED Fires immediately when a Shopify order is created. The triggering order’s product data — including product tags — is available for condition evaluation. Recommended frequency cap: 7 days — prevents customers who place multiple orders in the same week from receiving multiple cross-sell messages from the same automation. Each order is a valid trigger over time, but daily sends from the same flow are excessive.

Condition — Product in Order Has Tag = “Shoes”

Condition type: PRODUCT_IN_ORDER_HAS_TAG Tag value: "Shoes" Evaluates whether any product in the triggering order carries the specified Shopify product tag. If the order contains at least one product tagged “Shoes,” the customer takes the YES path. The NO path exits without sending a message in this recipe — it is reserved for customers whose orders do not contain the targeted product category. Extend the flow by adding additional condition branches for other product tags if you want to send category-specific recommendations for multiple product types.
To handle multiple product categories in a single flow, stack multiple condition nodes — one per category — each on the NO branch of the previous. Each YES branch leads to its own delay and action. This creates a linear evaluation where each customer is routed to the first category that matches their order.

Delay — 3 days

A 3-day delay gives the customer time to receive and experience the purchased product before the recommendation arrives. Cross-sell messages sent immediately after purchase can feel transactional. A 3-day gap feels like a helpful follow-up rather than an immediate upsell. Adjust the delay based on your product type — physical goods that take time to arrive may warrant a longer delay (5–7 days) timed closer to the expected delivery date.

Action — Accessories recommendation template

Send a template recommending accessories or complementary products relevant to what the customer purchased. Use a product-specific template if you have one, or a general accessories recommendation with a curated collection link. Suggested variable mapping:
  • {{1}}customer.first_name
  • {{2}}order.product_name (the purchased product for context)

Extending this recipe

Add more product categories Chain additional PRODUCT_IN_ORDER_HAS_TAG conditions on the NO path of the first condition to handle other categories — skincare, electronics, apparel, and so on — each routing to its own relevant recommendation template. Add an order value filter Before the product tag condition, add an ORDER_VALUE > X condition to limit cross-sell messages to orders above a certain threshold — focusing effort on higher-value customers. Add a purchase recency check After the delay, add an ORDER_RECENCY condition to check whether the customer has already placed another order since the trigger fired. If they have, skip the cross-sell — they are already engaged.

Templates required

This recipe requires one approved template per active product category branch:
TemplatePurpose
Accessories recommendationCross-sell message for customers who purchased from the “Shoes” category
Add one template per additional category branch if extending the recipe.
  • Conditions — PRODUCT_IN_ORDER_HAS_TAG condition configuration
  • Triggers — ORDER_PLACED trigger behavior and data availability