Managing Campaigns

Last updated: December 16, 2025

Campaigns group related QR codes together for better organization and analytics tracking. They typically correspond to marketing initiatives, product launches, or promotional periods.

Campaign Structure

Campaigns belong to a brand and contain multiple QR codes:

Brand
└── Campaign (with date range)
    ├── QR Code 1
    ├── QR Code 2
    └── QR Code 3

Creating a Campaign

  1. Navigate to Campaigns in the admin sidebar
  2. Click the New Campaign button
  3. Select the parent brand
  4. Fill in campaign details
  5. Set the date range
  6. Click Create

Campaign Fields

Field Required Description
Brand Yes The parent brand
Name Yes Campaign name (e.g., "Summer 2025 Promo")
Description No Campaign details and objectives
Start Date Yes When the campaign begins
End Date No When the campaign ends (leave blank for ongoing)
Status Yes Active, Paused, or Completed

Campaign Lifecycle

Status Transitions

Status QR Codes Analytics
Active Fully functional Recording scans
Paused Show "paused" message Still recording
Completed Show "ended" message Historical only
Automatic Status

Campaigns with an end date will automatically show as "ended" after the end date passes, even if still marked as Active.

Campaign Analytics

Each campaign provides aggregated analytics:

  • Total Scans: Sum of all QR code scans
  • Unique Visitors: Distinct devices/users
  • Top Performing QR Codes: Ranked by scan count
  • Geographic Distribution: Scans by country/city
  • Device Breakdown: Mobile vs tablet vs desktop

API Access

# List campaigns
GET /api/v1/campaigns

# Create campaign
POST /api/v1/campaigns
{
    "brand_id": 1,
    "name": "Summer 2025 Promo",
    "start_date": "2025-06-01",
    "end_date": "2025-08-31",
    "status": "active"
}

# Get campaign analytics
GET /api/v1/analytics/campaigns?campaign_id=1

Best Practices

  • Use descriptive names that include the time period
  • Set end dates for time-limited promotions
  • Use the description field to document campaign objectives
  • Review analytics regularly during active campaigns

Next Steps