# Focus Group Email Campaign — User Guide

**For**: Campaign managers and non-technical users
**Last Updated**: June 12, 2026

---

## What This Does

This solution sends branded email invitations to customers, inviting them to test the redtag.ca mobile app. Each recipient gets a personalized email with their name and a deadline to complete testing in exchange for a $50 e-gift card.

---

## How to Send a Campaign

### Step 1: Prepare Your Recipient List

Create a CSV file (open Excel → Save As → CSV) with exactly two columns:

| name | email |
|------|-------|
| John | john@example.com |
| Jane | jane@example.com |

- **name**: Recipient's first name (appears as "Hey John," in the email)
- **email**: Recipient's email address

Save the file as `recipients.csv`.

---

### Step 2: Upload the Recipient List

**Option A — Ask DevOps** to upload it for you.

**Option B — AWS Console:**
1. Go to https://s3.console.aws.amazon.com/s3/buckets/tbi-redtag-focus-group-campaign?region=ca-central-1
2. Click **Upload**
3. Select your `recipients.csv` file
4. Click **Upload**

---

### Step 3: Send the Campaign

1. Go to the Lambda console: https://ca-central-1.console.aws.amazon.com/lambda/home?region=ca-central-1#/functions/tbi-redtag-focus-group-campaign?tab=testing
2. In the **Test** tab, paste and edit the following:

```json
{
  "subject": "Hey, {{name}}! Test the new redtag.ca app & get rewarded",
  "deadline": "July 19th, 2026",
  "bounce_email": "Philip.Aouad@travelbrands.com",
  "csv_s3_bucket": "tbi-redtag-focus-group-campaign",
  "csv_s3_key": "recipients.csv",
  "sender": "redtag.ca <noreply@redtag.ca>"
}
```

3. Click **Test**
4. The result will show how many emails were sent successfully

---

## What You Can Change (Without Developer Help)

| What | Where to Change | Example |
|------|----------------|---------|
| Email subject line | `"subject"` field in the test event | `"Hey, {{name}}! Test the new redtag.ca app & get rewarded"` |
| Deadline date in the email | `"deadline"` field in the test event | `"July 19th, 2026"` |
| Who gets bounce alerts | `"bounce_email"` field in the test event | `"your.email@travelbrands.com"` |
| Recipient list | Upload a new CSV to S3 | See Step 2 above |
| From name | `"sender"` field in the test event | `"redtag.ca <noreply@redtag.ca>"` |

---

## What Requires Developer Help

| What | Who to Contact |
|------|----------------|
| Changing the email design/layout | DevOps — requires HTML template update |
| Changing links (App Store, Play Store, feedback form) | DevOps — requires HTML template update |
| Adding new dynamic fields beyond name/deadline | DevOps — requires Lambda + template changes |
| Increasing send limit beyond 50,000/day | DevOps — requires AWS support request |

---

## Understanding the Results

After clicking **Test**, you'll see a response like:

```json
{
  "statusCode": 200,
  "body": {
    "total": 2000,
    "sent": 1995,
    "failed": 5
  }
}
```

| Field | Meaning |
|-------|---------|
| `total` | Number of recipients in your CSV |
| `sent` | Emails successfully queued for delivery |
| `failed` | Emails that could not be sent (invalid addresses, etc.) |

---

## Bounce & Complaint Notifications

When an email bounces (invalid address) or a recipient marks it as spam, an alert is sent to the `bounce_email` address specified in the test event.

**No action needed** — AWS automatically stops sending to bounced addresses on future campaigns.

---

## Viewing Delivery Reports

1. Go to: https://ca-central-1.console.aws.amazon.com/ses/home?region=ca-central-1#/vdm
2. View delivery rates, open rates, and click rates
3. Filter by configuration set: `focus-group-campaign`

---

## FAQ

**Q: Can I send to the same list twice?**
A: Yes, but recipients will get duplicate emails. Use a new CSV if you only want to send to new people.

**Q: What if someone's name has special characters (é, ñ)?**
A: It works fine — the system supports UTF-8 characters.

**Q: How long does it take to send 2,000 emails?**
A: About 2–3 minutes.

**Q: Can I schedule a send for a specific time?**
A: Not currently. The campaign sends immediately when you click Test. Contact DevOps if scheduling is needed.

**Q: What happens if I put the wrong file name in `csv_s3_key`?**
A: The function will return an error. Double-check the file name matches what you uploaded to S3.

---

## Support

- **DevOps Team**: For template changes, troubleshooting, or new features
- **AWS Console**: Account 489176460030, Region ca-central-1
