> ## Documentation Index
> Fetch the complete documentation index at: https://help.maestra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer Reactivation by Order Activity Flow

Bring back customers who haven't placed an order in a long time. This flow sends a sequence of reminder campaigns, layers in a bonus incentive when the first nudge doesn't land, and finishes with a last-chance reminder before the bonus expires.

## Before you start

Set up the automated campaigns you'll use inside the flow. Each campaign can run on any of these channels:

* Email
* SMS
* Viber
* Mobile push
* Web push

You can mix channels across the steps (for example, email for the first touch and SMS for the bonus reminder) or A/B test channel combinations to see what reactivates customers most reliably.

<Tip>
  Prepare campaign content before building the flow. The flow only orchestrates timing and audience — the creative lives inside each campaign.
</Tip>

## How the flow works

The flow has nine steps. It runs daily, filters customers who match the reactivation criteria, sends the first reminder, waits, and then escalates to a bonus offer if there's still no order.

<Steps>
  <Step title="Launch trigger">
    Schedule the flow to run **daily**.

    On each run, the flow checks two things before letting a customer through:

    * The customer's contact in the chosen channel is valid.
    * The customer is still subscribed to that channel.

    Then it applies the reactivation segment:

    * The customer has been in the database for **6 months or more**.
    * The customer has **at least one order in their history**.
    * The customer has **not placed an order in the last 180 days**.

    <Note>
      These values are a starting point. Tune them to your business model and average purchase cycle. A coffee subscription brand might consider 60 days "inactive," while a furniture retailer might use 365 days. RFM segmentation can sharpen the audience further — for example, focusing the flow on previously high-value customers who've gone quiet.
    </Note>
  </Step>

  <Step title="First reactivation campaign">
    Send the opening campaign. Pick whichever angle fits your brand and catalog:

    * A short survey ("Tell us what you've been missing")
    * Bestsellers from the last few weeks
    * Personalized product recommendations
    * Products from the customer's favorite category
    * A curated set or edit

    A/B test the angle, subject line, and channel to learn what actually pulls dormant customers back.
  </Step>

  <Step title="Wait 7 days">
    Pause the flow for **seven days** to give the customer time to act on the first campaign.
  </Step>

  <Step title="Check for an order">
    After the wait, check whether the customer placed an order during those seven days.

    * **If they ordered:** they're reactivated. Exit the flow.
    * **If they didn't order:** continue to the bonus step.
  </Step>

  <Step title="Send a bonus offer">
    Send a campaign with a real incentive — either a promo code or a deposit of loyalty points. Set an expiration date for the bonus using an `AddDays` expression so the offer has urgency.

    Use these personalization tokens inside the campaign:

    | Content                      | Token                                                      |
    | ---------------------------- | ---------------------------------------------------------- |
    | Promo code from a pool       | `Recipient.LastReceivedPromoCode.WithType{poolname}.Value` |
    | Personalized recommendations | `Recipient.Recommendations.{algorithmname}`                |
    | Favorite category            | `Recipient.{categoryname}`                                 |

    <Tip>
      Keep the bonus meaningful. A $5 credit on a $200 average order rarely moves the needle — match the incentive to the lifetime value you're trying to recover.
    </Tip>
  </Step>

  <Step title="Wait 12 days">
    Pause for **twelve days** so the customer has time to redeem the bonus before it expires.
  </Step>

  <Step title="Check whether the bonus was used">
    Verify whether the customer redeemed the promo code or spent the loyalty points.

    * **If they used the bonus:** exit the flow — they're back.
    * **If they didn't:** continue to the final reminder.
  </Step>

  <Step title="Send an expiration reminder">
    Send a last-chance campaign reminding the customer that their bonus is about to expire. This is usually the highest-performing step in the sequence because the urgency is concrete and personal.
  </Step>

  <Step title="Set entry frequency">
    Configure how often a customer can enter this flow in the start block.

    In practice, the segmentation itself limits re-entry: a customer can only qualify again after they place a new order **and** then go quiet for another 180+ days. That means the frequency cap mostly protects against edge cases rather than throttling normal flow traffic.
  </Step>
</Steps>

## Personalization reference

Use these tokens inside any campaign in the flow to pull customer-specific content:

* **`Recipient.LastReceivedPromoCode.WithType{poolname}.Value`** — the most recent promo code issued to the customer from the named pool.
* **`Recipient.Recommendations.{algorithmname}`** — product recommendations from the named algorithm.
* **`Recipient.{categoryname}`** — the customer's favorite category.

## Launch

Once every step is configured and every campaign is published, turn the flow on. It will start running on its daily schedule and pull qualifying customers into the sequence automatically.
