FRE-709: Final cleanup - all artifacts committed
This commit is contained in:
253
plans/FRE-641-utm-links.md
Normal file
253
plans/FRE-641-utm-links.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# UTM Campaign Links - FRE-631
|
||||
|
||||
**Created:** 2026-04-27
|
||||
**Campaign:** Scripter Launch Week
|
||||
**Owner:** CMO
|
||||
|
||||
---
|
||||
|
||||
## Master Link List
|
||||
|
||||
Use these UTM-tagged URLs for all launch day posts and engagement.
|
||||
|
||||
### Twitter/X
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=twitter&utm_campaign=launch` | bit.ly/scripter-tw |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=twitter&utm_campaign=launch` | bit.ly/join-scripter |
|
||||
| YouTube Channel | `https://youtube.com/@scripter?utm_source=twitter&utm_campaign=launch` | - |
|
||||
|
||||
### Reddit
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=reddit&utm_campaign=sideproject` | bit.ly/scripter-reddit |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=reddit&utm_campaign=sideproject` | - |
|
||||
| GitHub Repo | `https://github.com/scripterapp/scripter?utm_source=reddit&utm_campaign=sideproject` | - |
|
||||
|
||||
### Discord
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=discord&utm_campaign=launch` | bit.ly/scripter-dc |
|
||||
| YouTube Video | `https://youtube.com/watch?v=SCRIPTER?utm_source=discord&utm_campaign=launch` | - |
|
||||
|
||||
### YouTube
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=youtube&utm_campaign=launch` | bit.ly/scripter-yt |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=youtube&utm_campaign=launch` | - |
|
||||
| Twitter Profile | `https://twitter.com/scripterapp?utm_source=youtube&utm_campaign=launch` | - |
|
||||
|
||||
### Direct / Email
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=email&utm_campaign=launch` | bit.ly/scripter-email |
|
||||
| Waitlist Signup | `https://scripter.app/waitlist?utm_source=email&utm_campaign=launch` | - |
|
||||
|
||||
---
|
||||
|
||||
## UTM Parameter Reference
|
||||
|
||||
### Standard Parameters
|
||||
|
||||
| Parameter | Value | Purpose |
|
||||
|-----------|-------|---------|
|
||||
| `utm_source` | twitter, reddit, discord, youtube, email | Traffic source |
|
||||
| `utm_medium` | social, email, video | Marketing medium |
|
||||
| `utm_campaign` | launch | Campaign identifier |
|
||||
| `utm_content` | thread, post, event, video (optional) | Content variant |
|
||||
|
||||
### Example Construction
|
||||
|
||||
```
|
||||
Base URL: https://scripter.app
|
||||
+ ?utm_source=twitter
|
||||
+ &utm_medium=social
|
||||
+ &utm_campaign=launch
|
||||
+ &utm_content=thread_tweet_1
|
||||
|
||||
Result: https://scripter.app?utm_source=twitter&utm_medium=social&utm_campaign=launch&utm_content=thread_tweet_1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Link Testing Checklist
|
||||
|
||||
### Pre-Launch (24h before)
|
||||
|
||||
- [ ] Test all links on desktop (Chrome, Firefox, Safari)
|
||||
- [ ] Test all links on mobile (iOS Safari, Android Chrome)
|
||||
- [ ] Verify UTM parameters appear in Google Analytics
|
||||
- [ ] Check redirect speed (<2 seconds)
|
||||
- [ ] Verify no 404 errors
|
||||
- [ ] Test short links resolve correctly
|
||||
|
||||
### Analytics Verification
|
||||
|
||||
- [ ] Google Analytics > Acquisition > Campaigns shows "launch"
|
||||
- [ ] Real-time tracking shows UTM source/medium
|
||||
- [ ] Conversion events fire on signup
|
||||
- [ ] No "(direct) / (none)" traffic from campaign links
|
||||
|
||||
---
|
||||
|
||||
## Bitly Setup (Optional)
|
||||
|
||||
### Account Creation
|
||||
1. Go to bitly.com
|
||||
2. Create free account (100 links/month limit)
|
||||
3. Create custom short links for each destination
|
||||
|
||||
### Custom Link Format
|
||||
```
|
||||
bit.ly/scripter-{source}
|
||||
Examples:
|
||||
- bit.ly/scripter-twitter
|
||||
- bit.ly/scripter-reddit
|
||||
- bit.ly/scripter-discord
|
||||
- bit.ly/scripter-youtube
|
||||
- bit.ly/scripter-email
|
||||
```
|
||||
|
||||
### Benefits
|
||||
- Click tracking per link
|
||||
- Clean, memorable URLs
|
||||
- QR code generation (for Discord/print)
|
||||
- Link editing without changing destination
|
||||
|
||||
---
|
||||
|
||||
## Link Usage by Platform
|
||||
|
||||
### Twitter Thread
|
||||
|
||||
| Tweet | Link |
|
||||
|-------|------|
|
||||
| Tweet 1 (Hook) | No link |
|
||||
| Tweet 2-7 (Content) | No links |
|
||||
| Tweet 8 (Demo video) | No link |
|
||||
| Tweet 9 (CTA) | `bit.ly/scripter-twitter` |
|
||||
|
||||
### Reddit Post
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Main post body | `bit.ly/scripter-reddit` |
|
||||
| Comment responses | Use full UTM URL |
|
||||
| Edit updates | `bit.ly/scripter-reddit` |
|
||||
|
||||
### Discord Event
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Event description | `bit.ly/scripter-discord` |
|
||||
| Pinned message | `bit.ly/scripter-discord` |
|
||||
| Discount code reveal | `bit.ly/scripter-discord` |
|
||||
|
||||
### YouTube
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Video description (top) | `bit.ly/scripter-youtube` |
|
||||
| Pinned comment | `bit.ly/scripter-youtube` |
|
||||
| End screen link | `bit.ly/scripter-youtube` |
|
||||
| Channel about page | `bit.ly/scripter-youtube` |
|
||||
|
||||
---
|
||||
|
||||
## Analytics Dashboard Setup
|
||||
|
||||
### Google Analytics 4
|
||||
|
||||
**Path:** GA4 > Reports > Acquisition > User acquisition
|
||||
|
||||
**Filter:** Session campaign = "launch"
|
||||
|
||||
**Metrics to Track:**
|
||||
- Users by session source/medium
|
||||
- Engagement rate
|
||||
- Average engagement time
|
||||
- Conversions (signups)
|
||||
|
||||
### Custom Report
|
||||
|
||||
Create custom exploration:
|
||||
```
|
||||
Dimensions:
|
||||
- Session source
|
||||
- Session medium
|
||||
- Session campaign
|
||||
- Event name
|
||||
|
||||
Metrics:
|
||||
- Users
|
||||
- Engaged sessions
|
||||
- Conversions
|
||||
- Total revenue (if applicable)
|
||||
|
||||
Filter: Session campaign contains "launch"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Link Rotation Strategy
|
||||
|
||||
### A/B Testing (Optional)
|
||||
|
||||
For Twitter thread, test two CTAs:
|
||||
|
||||
**Variant A:**
|
||||
- Tweet 9: "Try Scripter free" → `&utm_content=cta_free`
|
||||
|
||||
**Variant B:**
|
||||
- Tweet 9: "Start writing now" → `&utm_content=cta_write`
|
||||
|
||||
Compare click-through rates after 24h.
|
||||
|
||||
### Content Variants
|
||||
|
||||
Track which content performs best:
|
||||
|
||||
| Content | UTM Content Value |
|
||||
|---------|-------------------|
|
||||
| Twitter thread | `thread_tweet_1` through `thread_tweet_9` |
|
||||
| Reddit post | `reddit_main` |
|
||||
| Reddit comment | `reddit_comment_{timestamp}` |
|
||||
| Discord event | `discord_event` |
|
||||
| YouTube 60s | `youtube_short` |
|
||||
| YouTube 10min | `youtube_long` |
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Links Not Tracking
|
||||
|
||||
1. Check GA4 property is correct
|
||||
2. Verify UTM syntax (no spaces, lowercase)
|
||||
3. Wait 24-48h for data processing
|
||||
4. Check Real-Time report first
|
||||
|
||||
### Short Links Not Working
|
||||
|
||||
1. Verify Bitly account is active
|
||||
2. Check destination URL is valid
|
||||
3. Test without shortener (use full UTM URL)
|
||||
4. Contact Bitly support if needed
|
||||
|
||||
### Analytics Discrepancies
|
||||
|
||||
- Platform analytics (Twitter, YouTube) vs GA4 will differ
|
||||
- Platform counts clicks, GA4 counts sessions
|
||||
- Ad blockers affect GA4 tracking
|
||||
- Use platform analytics for engagement, GA4 for conversions
|
||||
|
||||
---
|
||||
|
||||
**Status:** Ready for launch
|
||||
**Last Updated:** 2026-04-27
|
||||
**Next Review:** Launch day + 7 days
|
||||
Reference in New Issue
Block a user