Files
FrenoCorp/marketing/reddit-campaign-utm-tracking.md
Michael Freno bef1d7f829 FRE-750: Break infinite recovery cascade, reassign FRE-620 to Founding Engineer
- Cancelled 700+ runaway recovery issues (FRE-767 through FRE-2000+)
- Reassigned FRE-620 (analytics setup) from error-state Senior Engineer to available Founding Engineer
- Removed blocker chain that was preventing FRE-620 from progressing
- Documented system bug: recovery system creates recovery issues for cancelled recovery issues

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-27 01:22:34 -04:00

5.8 KiB

Reddit Campaign UTM Tracking

Campaign: FRE-670 - Reddit Beta Recruitment
Dates: May 3-9, 2026
Owner: CMO + CTO


Tracking URLs

Use these exact URLs in each subreddit post:

r/Screenwriting (Primary)

https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=screenwriting

r/Filmmakers (Cross-post)

https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=filmmakers

r/Scriptwriting (Follow-up)

https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=scriptwriting

UTM Parameters Breakdown

Parameter Value Purpose
utm_source reddit Traffic source
utm_medium social Channel type
utm_campaign beta_recruitment Campaign identifier
utm_content [subreddit] Specific subreddit tracking

Analytics Dashboard Setup

Metrics to Track

Daily Metrics (May 3-9):

  • Page views by utm_content
  • Form starts by utm_content
  • Form completions (applications) by utm_content
  • Conversion rate: applications / page views

Campaign Totals:

  • Total Reddit traffic
  • Total applications from Reddit
  • Overall conversion rate
  • Cost per acquisition (time investment / applications)

Dashboard Spec

Location: Analytics dashboard (CTO to implement)

Charts:

  1. Daily applications by subreddit (bar chart)
  2. Conversion funnel (page view → form start → submit)
  3. Cumulative applications (line chart, target: 100)

Filters:

  • Date range: May 3-9, 2026
  • utm_campaign: beta_recruitment
  • utm_source: reddit

Implementation Checklist

  • Add UTM tracking to analytics platform (April 27)
  • Create Reddit campaign dashboard spec (April 27)
  • Set up conversion events (form start, form submit) (April 27)
  • Test tracking URLs (April 28-30)
  • Create daily report template (April 27)
  • Share dashboard access with CMO (CTO action)

Owner: CMO + CTO
Status: Frontend + backend implementation complete, testing scheduled April 28-30


Daily Reporting Template

Day 1 (May 3) - Launch Day

  • r/Screenwriting post time: [HH:MM PT]
  • r/Filmmakers post time: [HH:MM PT]
  • Page views: [number]
  • Applications: [number]
  • Top performing sub: [name]
  • Notes: [AMA engagement, mod responses, etc.]

Day 2 (May 4) - AMA Day

  • Comments responded to: [number]
  • Page views: [number]
  • Applications: [number]
  • Cumulative: [number]
  • Notes: [engagement quality, questions asked]

Day 3 (May 5)

  • Page views: [number]
  • Applications: [number]
  • Cumulative: [number]
  • Notes: [momentum check]

Day 4 (May 6) - Update Post Day

  • Update post published: [Y/N]
  • Page views: [number]
  • Applications: [number]
  • Cumulative: [number]
  • Notes: [60/100 filled update impact]

Day 5-7 (May 7-9)

  • [Continue daily tracking]

Success Metrics

Metric Target Actual Status
Total applications 150 -
Accepted users 100 -
r/Screenwriting conversion 66% -
Post upvotes (r/Screenwriting) 200+ -
Comments (AMA) 50+ -

Post-Campaign Analysis (May 10-12)

Questions to Answer:

  1. Which subreddit performed best?
  2. What was the peak application day?
  3. What questions came up most in AMA?
  4. What would we do differently next time?
  5. Should we run this campaign again?

Report Owner: CMO
Report Due: May 12, 2026



Implementation Details (April 27, 2026)

Backend Changes

File: /server/trpc/beta-router.ts

Added UTM parameter fields to the beta signup schema:

  • utmSource - Traffic source (e.g., "reddit")
  • utmMedium - Channel type (e.g., "social")
  • utmCampaign - Campaign identifier (e.g., "beta_recruitment")
  • utmContent - Specific content (e.g., "screenwriting", "filmmakers")
  • utmTerm - Optional term parameter

All UTM parameters are stored in the metadata JSON field of the waitlistSignups table.

Frontend Changes

File: /src/routes/beta/BetaSignup.tsx

Added automatic UTM capture:

  • Component extracts UTM parameters from URL query string on mount
  • Parameters are passed to the API on form submission
  • Works transparently - no user action required

File: /src/lib/api/trpc-hooks.ts

Updated useBetaSignup hook type definition to include UTM fields.


Testing Guide

Manual Testing (April 28-30)

  1. Test URL with all parameters:

    https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=screenwriting
    
  2. Fill out and submit the form

  3. Verify in database:

    SELECT email, name, source, metadata 
    FROM waitlistSignups 
    WHERE metadata LIKE '%utmSource%' 
    ORDER BY createdAt DESC 
    LIMIT 1;
    
  4. Expected metadata JSON:

    {
      "isBetaApplication": true,
      "utmSource": "reddit",
      "utmMedium": "social",
      "utmCampaign": "beta_recruitment",
      "utmContent": "screenwriting",
      "primaryRole": "...",
      ...
    }
    

Test Cases

Test URL Expected utmSource Expected utmContent
r/Screenwriting ?utm_source=reddit&utm_content=screenwriting reddit screenwriting
r/Filmmakers ?utm_source=reddit&utm_content=filmmakers reddit filmmakers
r/Scriptwriting ?utm_source=reddit&utm_content=scriptwriting reddit scriptwriting
No UTM (no parameters) null null

Status: UTM tracking implemented (backend + frontend)
Implementation: Beta signup form now captures utm_source, utm_medium, utm_campaign, utm_content, utm_term from URL parameters
Next: Test tracking URLs (April 28-30), CTO to implement analytics dashboard views