- 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>
227 lines
5.8 KiB
Markdown
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
|