Source: https://fyno.docs.pageloop.ai/documentation/getting-started/tutorials/how-to-create-a-campaign-with-csv-tutorial

# How to create a campaign with CSV

In this tutorial, we will:

1. Create a Fyno notification template (for SMS).
2. Create a Notification Event to link the template and the integration.
3. Create and trigger the campaign.
4. View campaign logs and analytics.

## Prerequisites

To create a Campaign, you will first need to have a few things in place:

- A service provider integration in Fyno’s platform.
- A pre-approved SMS template created in DLT platform along with DLT Template ID.
- A CSV file with the user base to whom you would be triggering the campaign.

Once we have these in place, we are all set to go with campaigns!

## Creating a **SMS Template**

1. **Template Id** - Enter your approved DLT template Id.
2. **SMS Content** - Copy and paste the SMS content from your DLT platform.
3. **Unicode** - Enable this if the SMS content contains non-English characters.

   ![](/images/campaign_tutorial_1.png)
4. **Additional Configuration**

   ![](/images/campaign_tutorial_2.png)
5. **Placeholders** - Add placeholders using double curly brackets.

   ![](/images/campaign_tutorial_3.png)

   ![](/images/campaign_tutorial_4.png)
6. **Preview** - Shows sample values replacing placeholders.
7. **Run Test** - Send a test SMS to verify the template.

   ![](/images/campaign_tutorial_5.png)
8. **Save & Go Live** - Save creates test version, Go Live creates production version.

## Creating a Notification Event

1. Create a new Notification Event from the Notification Events section.
2. Provide a name and select type (OTP, Transactional, Marketing).
3. Select an existing template.

   ![](/images/campaign_tutorial_6.png)
4. Preview the template.

   ![](/images/campaign_tutorial_7.png)
5. Select provider integration.

   ![](/images/campaign_tutorial_8.png)
6. Test the notification.

   ![](/images/campaign_tutorial_9.png)
7. **Save & Go Live** to activate the notification event.

## Creating a Campaign

1. Go to Campaigns under Advanced.
2. Click New Campaign.
3. Enter Campaign Name and select Notification Event.
4. Review linked channels and file structure.
5. Select CSV Upload.
6. Download sample CSV.
7. Prepare CSV file.
   - Keep headers unchanged
   - Fill placeholder values
8. Upload CSV file.
9. Review validation summary.
   - Processed records
   - Valid records
   - Invalid records
   - Duplicate records
10. Create Campaign.

## Configuring Campaign

1. Notification Event is auto-selected.
2. Map destinations and placeholders.
   - Select CSV column for each field
   - Remove unused channels
3. Ensure all placeholders are mapped.
4. Preview data using navigation arrows.

   Use < and > to navigate records.

   ![](/images/campaign_tutorial_12.png)

## How to Test a Campaign

Before sending a campaign to all customers, run a test to preview notifications.

1. Scroll to the top of the campaign configuration page and click **Run Test**.
2. A popup appears requesting:
   - **Send Using (Channel Details)** — Select channels to test
   - **Map Placeholders** — Provide sample values for placeholders
3. Click **Run Test** to deliver the notification to test recipients.

## Save as Draft

1. After configuring Notification Event, Channels, Placeholders, and schedule time, click **Save**.
2. The campaign is stored and can be edited later before sending.

## Fire or Schedule a Campaign

1. Click the **Schedule / Fire** button after completing configuration.
2. Choose **Now** to immediately send notifications.

   ![](/images/campaign_tutorial_13.png)
3. Choose **Later** to schedule a date and time (up to 30 days ahead).

   ![](/images/campaign_tutorial_14.png)

## Stop a Campaign

1. Click **Stop Campaign** to pause a running campaign.
2. This option is available only for CSV campaigns containing more than 1000 records.

   ![](/images/campaign_tutorial_15.png)

## Viewing Campaign Logs & Analytics

Fyno’s **Campaign Analytics** helps you analyze performance and engagement.

You can access analytics by:

1. Clicking the bar chart icon beside a campaign.
2. Opening a campaign and selecting **View Analytics**.

### Overview

Displays high-level performance:

- Number of times event fired.
- Notifications submitted.
- Notifications delivered.

### Channel Engagement

Shows engagement per channel:

- **Submitted** — Sent from Fyno
- **Delivered** — Reached destination
- **Read/Open** — WhatsApp/In-App read or Email open
- **Clicked** — User interaction

Undelivered statuses:

- Invalid Subscriber
- Blacklist
- Rejected
- Bounce

You can filter statuses using the graph legend.

### Delivery Status

Channel delivery states:

- **Sent** — Sent from Fyno
- **Delivered** — Successfully received
- **Error** — Configuration issue
- **Failed** — Provider rejection
- **Bounce** — Email delivery failure

### Download Report

Click **Download Report** to receive a report link via Email and In-App notification.

Report fields include:

- Request\_ts
- Request\_id
- Template
- Distinct\_id
- SMS\_credits\_use
- Email\_credits\_use
- Channel submission statuses
- Channel final delivery statuses
- Channel delivery history
