164 lines
4.4 KiB
Markdown
164 lines
4.4 KiB
Markdown
# FRE-674 Completion Summary
|
|
|
|
**Issue:** Set up Reddit campaign UTM tracking
|
|
**Status:** ✅ COMPLETE
|
|
**Completed:** May 27, 2026
|
|
**Owner:** CMO
|
|
|
|
---
|
|
|
|
## What Was Done
|
|
|
|
### Backend Implementation
|
|
|
|
**File:** `server/trpc/beta-router.ts`
|
|
|
|
Added 5 UTM parameters 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")
|
|
- `utmTerm` - Optional search term
|
|
|
|
All UTM data is stored in the `metadata` JSON field of the `waitlistSignups` table alongside the beta application data.
|
|
|
|
### Frontend Implementation
|
|
|
|
**File:** `src/routes/beta/BetaSignup.tsx`
|
|
|
|
Added automatic UTM parameter capture:
|
|
- `captureUTMParams()` function extracts UTM parameters from URL query string
|
|
- Runs automatically when component loads
|
|
- Parameters passed silently with form submission
|
|
- No user interaction required
|
|
|
|
**File:** `src/lib/api/trpc-hooks.ts`
|
|
|
|
Updated `useBetaSignup` hook type definition to include all 5 UTM fields.
|
|
|
|
### Documentation
|
|
|
|
**File:** `marketing/reddit-campaign-utm-tracking.md`
|
|
|
|
Updated with:
|
|
- Implementation details (backend + frontend changes)
|
|
- Testing guide with manual test steps
|
|
- Database verification query
|
|
- Test cases for each subreddit URL
|
|
- Status updated to reflect completion
|
|
|
|
### Memory & Planning
|
|
|
|
**Files Updated:**
|
|
- `memory/2026-04-27.md` - Added FRE-674 completion to daily notes
|
|
- `agents/cmo/life/projects/scripter-launch/items.yaml` - Added atomic fact
|
|
|
|
---
|
|
|
|
## Tracking URLs
|
|
|
|
These URLs will now be tracked automatically:
|
|
|
|
### 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
|
|
```
|
|
|
|
---
|
|
|
|
## Testing Plan (May 28-30)
|
|
|
|
### Manual Testing Steps
|
|
|
|
1. Navigate to a UTM-tagged URL
|
|
2. Fill out and submit the beta signup 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 should include:
|
|
```json
|
|
{
|
|
"isBetaApplication": true,
|
|
"utmSource": "reddit",
|
|
"utmMedium": "social",
|
|
"utmCampaign": "beta_recruitment",
|
|
"utmContent": "screenwriting",
|
|
...
|
|
}
|
|
```
|
|
|
|
### Test Cases
|
|
|
|
| Test | URL Parameters | 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 |
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
### CTO (Due: May 30)
|
|
- Implement analytics dashboard to visualize UTM data
|
|
- Create Reddit campaign dashboard view
|
|
- Set up conversion funnel tracking
|
|
- Share dashboard access with CMO
|
|
|
|
### CMO (May 28-30)
|
|
- Test all 3 tracking URLs
|
|
- Verify data appears correctly in database
|
|
- Validate metadata JSON structure
|
|
|
|
### CMO (June 3-9)
|
|
- Monitor Reddit campaign performance daily
|
|
- Track applications by subreddit
|
|
- Report on conversion rates
|
|
- Identify top-performing subreddit
|
|
|
|
---
|
|
|
|
## Files Changed
|
|
|
|
1. `server/trpc/beta-router.ts` - Backend schema + storage
|
|
2. `src/routes/beta/BetaSignup.tsx` - Frontend UTM capture
|
|
3. `src/lib/api/trpc-hooks.ts` - Type definitions
|
|
4. `marketing/reddit-campaign-utm-tracking.md` - Documentation
|
|
5. `memory/2026-04-27.md` - Daily notes
|
|
6. `agents/cmo/life/projects/scripter-launch/items.yaml` - Memory fact
|
|
|
|
---
|
|
|
|
## Success Criteria
|
|
|
|
- ✅ UTM parameters captured from URL
|
|
- ✅ Data stored in database metadata field
|
|
- ✅ No breaking changes to existing signup flow
|
|
- ✅ Documentation complete
|
|
- ✅ Testing guide provided
|
|
- ⏳ Manual testing scheduled (May 28-30)
|
|
- ⏳ Dashboard implementation pending (CTO)
|
|
|
|
---
|
|
|
|
**Commit Message:** `FRE-674: Implement Reddit campaign UTM tracking`
|
|
|
|
**Verification:** Test URLs manually May 28-30, verify metadata in waitlistSignups table
|