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

227 lines
5.8 KiB
Markdown

# 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
- [x] Add UTM tracking to analytics platform (April 27)
- [x] Create Reddit campaign dashboard spec (April 27)
- [x] Set up conversion events (form start, form submit) (April 27)
- [ ] Test tracking URLs (April 28-30)
- [x] 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:**
```sql
SELECT email, name, source, metadata
FROM waitlistSignups
WHERE metadata LIKE '%utmSource%'
ORDER BY createdAt DESC
LIMIT 1;
```
4. **Expected metadata JSON:**
```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