# How to Create a Drip Campaign

This module guides you through the complete process of building an automated WhatsApp drip campaign in QuickReply—from setting up the initial trigger to defining the exit conditions. Each step can be customized to match your business flow.

## **Trigger & Filters**

### **Navigate to Campaigns in the QuickReply App**

Go to the **‘Campaigns’** tab from the main menu in your QuickReply dashboard. Click **‘Create New Campaign’** to begin setting up your campaign.

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-403048f159ee607e4d51af273ff40c568877dbbf%2FFrame%2077.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Select the Trigger Event**

Type in a preferred name for your campaign.\
Now choose a **Campaign Trigger- an event that will initiate the campaign**. Triggers define when a user should enter your drip workflow. Triggers for Shopify users can include:

* **Order placed**
* **Order shipped**
* **Order fulfilled**
* **Abandoned checkout**
* **Product viewed**
* **Custom events via API**

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-5dfd3f5c46747c6cbacf334a534c67ddb6aa37c9%2FFrame%2078.png?alt=media" alt=""><figcaption></figcaption></figure>

### Select a Campaign Category

From the dropdown given, choose between a Promotional or a Transactional campaign. This determines how WhatsApp will classify and process your messages, and it also impacts what type of templates you can use.

{% tabs %}
{% tab title="Promotional Campaign" %}
**What It Means:**\
Promotional campaigns are used to send marketing, advertising, or awareness messages to users. These messages are intended to drive conversions, boost engagement, or announce offers.

**Examples:**

* “Get 10% off your next order! Offer ends today.”
* “New product launch—check it out now!”
* “We miss you! Here’s a reward to come back.”

**Key Points:**

* You must use **Marketing templates** that are approved under Meta's marketing category.
* Customers must have **opted in** to receive marketing messages.
* There are [**frequency**](https://docs.quickreply.ai/overview/messaging-channels/whatsapp/concepts#frequency-capping) **and** [**quality rules**](https://docs.quickreply.ai/overview/messaging-channels/whatsapp/concepts#quality-rating) from Meta—too many sends without engagement may affect delivery rates.
  {% endtab %}

{% tab title="Transactional Campaigns" %}
**What It Means:**\
Transactional campaigns are used to send critical information about orders, services, or account updates. These messages are **non-promotional** and often part of service workflows.

**Examples:**

* “Your order #12345 has been shipped.”
* “Reminder: Your appointment is tomorrow at 10:30 AM.”
* “Please confirm your COD order by replying YES.”

**Key Points:**

* Must use **Utility or Authentication** templates only.
* These templates are strictly monitored—**sending promotional content via transactional messages can lead to template rejection or number blocks**.
* Ideal for operational, service-based communication.
  {% endtab %}
  {% endtabs %}

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-52859cfabf7894bc2214cd41931baa83a0e12414%2FFrame%2087.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Define Data Filters for the Trigger Event (Optional but Recommended)**

Add filters to narrow down which users qualify to enter the drip campaign. For example:

* **Order amount > ₹1000**
* **Customer tag = VIP**
* **Product Category = Shoes**

These filters help you personalize your campaigns to specific customer segments.

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-30c41fb4f62b7642e87d950c605ed72d5cf57c10%2FFrame%2079.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Things to Keep in Mind**

* If no filters are applied, the drip will trigger for **all users** who meet the main event condition.
* Make sure filters don’t contradict each other—this may prevent eligible users from entering the campaign.

***

## **Workflow**

### **Select a WhatsApp Template**

Choose the **approved WhatsApp template** you want to use for each step in the workflow.

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-47f86c31399b8efac3c3827ed31e640aeb611ee5%2FFrame%2084.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-21bad0185d64e67496a67a6cfa2e878bb28b7de3%2F80.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Provide Content for Variables**

When using templates that contain dynamic fields or buttons, QuickReply allows you to map those variables to specific customer or order data. This ensures messages feel personalized and relevant—without manual editing.

#### **Text Variables (e.g., {{name}}, {{order\_id}}, etc.)**

These are standard placeholder fields within your template content. You can:

* Map them to customer attributes (like name, email)
* Map them to Shopify order/fulfilment fields
* Manually enter fallback values if needed

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-2bf8882ae30b8cc1d3cae724c783c0b3bac09545%2FFrame%2081%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

**Example:**\
Template:

> “Hi {{name}}, your order {{order\_id}} is being packed. You’ll receive a tracking link soon.”

Mappings:

* `{{name}}` → Customer First Name
* `{{order_id}}` → Order ID from Shopify

***

#### **Button Variables (CTA Links)**

If your template includes **call-to-action (CTA) buttons**, you can dynamically generate the button URLs using customer/order/fulfilment data.

**1. Customer Data**

Use data specific to the customer like phone, email, or user ID.

**Example:**

* Button: **“View Profile”**
* URL: `https://yourcrm.com/user/{{phone_number}}`
* Mapping: `{{phone_number}}` → Customer’s mobile number

**2. Order Data**

Dynamically insert order details into your CTA links for tracking, reordering, etc.

**Example:**

* Button: **“Track Order”**
* URL: `https://yourstore.com/orders/{{order_id}}`
* Mapping: `{{order_id}}` → Shopify Order ID

**3. Fulfilment Data**

Generate tracking or invoice links based on fulfilment details (like courier, tracking number).

**Example:**

* Button: **“Track Shipment”**
* URL: `https://courierpartner.com/track/{{tracking_number}}`
* Mapping: `{{tracking_number}}` → Fulfilment tracking number from Shopify

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-1657f7de9bdffaba9af52f0e46f012b59a6b69e4%2FFrame%2088.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-4cb01246a5e6c5735b21eb614464717a2ec9fc46%2FFrame%2082.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Things to Keep in Mind**

* All button URLs must start with **https\://**
* If a variable is **missing or null** for a user, the button may not render correctly—so always define fallbacks or use exit conditions.
* Do **not include promotional buttons** in **transactional templates**, as this violates WhatsApp policy.

### **Configure Delay & Timing**

For each message step, define the delay between this step and the previous one:

* Delay can be set in **minutes, hours, or days**

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-948396ab9deceb660026538600d566e811196a80%2FFrame%2082%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Set Up Bot Mapping**

You can enable **Bot Mapping** if you expect replies to your drip messages:

* Use it to automatically respond or escalate the conversation
* Assign a bot flow to each template step for **2-way engagement**

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-263bd7d67113de062abc7d33e7fea4306dbffd68%2FFrame%2083.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Things to Keep in Mind**

* Drips work best when spaced out logically—avoid overwhelming users with back-to-back messages.
* Bots must be mapped correctly to the **intent** of the message.

***

## **Exit Conditions**

### **Define When Users Should Exit the Campaign**

Set up exit rules to determine when a user should **stop receiving messages** in the sequence. Common exit conditions include:

* **User replies to any message** in the campaign
* **Order status is updated** (e.g., from pending to fulfilled)
* **The customer makes a purchase**
* **A custom tag is added** to the user profile (e.g., “Converted”)

### **Configure Exit Checkpoints**

You can apply exit conditions:

* Globally (for the entire campaign)

<figure><img src="https://1325107618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FePPO97Ju334NhhCzTEZP%2Fuploads%2Fgit-blob-9041ff2496dcd0b545f77aaddf5b53b68ca8d91f%2FFrame%2085.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Things to Keep in Mind**

* Exit rules are critical for user experience—if not set, users may receive irrelevant follow-up messages.
* Use tags or webhook events to create custom exit paths for advanced workflows.
