The complete paid playbook.
Everything we'd run, every dollar we'd spend, every campaign we'd build. This is the engineering layer behind the $24,000 ad budget on the main proposal.
The seven things you need to know about the ads plan. Click any tile for the full breakdown.
Where the $24,000 goes.
6 platforms, weighted by intent and audience fit. No vanity bets.
| Platform | Role | % | Annual | |
|---|---|---|---|---|
| Google Search | Primary capture | 35% | $8,400 | |
| Meta (FB + IG) | Discovery + retargeting | 35% | $8,400 | |
| Google Performance Max | Scale layer | 12% | $2,880 | |
| YouTube (Skip + Shorts) | Awareness | 8% | $1,920 | |
| Microsoft / Bing Search | Snowbird capture | 5% | $1,200 | |
| Testing reserve | Experiments | 5% | $1,200 | |
| Total annual media | 100% | $24,000 | ||
What we're NOT spending on, and why
- LinkedIn. B2C consumer category. LinkedIn CPCs ($8–$15) are 5–10x higher than Meta for the same audience.
- TikTok (Y1). Viable in Y2 once we have UGC + influencer content. Not worth Y1 creative production cost with limited assets.
- Local Services Ads. RV parks don't qualify. LSA is for licensed trades (plumbers, locksmiths).
- Display Network direct buys. Too low-intent for $24k budget. PMax handles display algorithmically.
Spend follows demand, not the calendar.
Flat $2,000/month is fiction — real-world budget shifts with seasonality. Below is the actual 12-month plan.
| Mo | Phase | Total | Meta | PMax | YT | Bing | Test | |
|---|---|---|---|---|---|---|---|---|
| 1 | Foundation + brand defense | $1,500 | $400 | $900 | — | — | $100 | $100 |
| 2 | Lead capture push | $1,500 | $400 | $1000 | — | — | $100 | — |
| 3 | Waitlist amplification | $1,500 | $400 | $1000 | — | — | $100 | — |
| 4 | Opening blitz | $3,000 | $1000 | $1200 | $400 | $200 | $100 | $100 |
| 5 | Conversion press | $3,000 | $1000 | $1200 | $400 | $200 | $100 | $100 |
| 6 | Peak season ramp | $2,500 | $900 | $900 | $350 | $200 | $100 | $50 |
| 7 | Peak season full | $2,500 | $900 | $900 | $350 | $200 | $100 | $50 |
| 8 | Peak season full | $2,500 | $900 | $900 | $350 | $200 | $100 | $50 |
| 9 | Late peak | $2,500 | $850 | $900 | $400 | $200 | $100 | $50 |
| 10 | Snowbird push | $1,500 | $500 | $700 | $200 | — | $100 | — |
| 11 | Snowbird push | $1,500 | $500 | $700 | $200 | — | $100 | — |
| 12 | Snowbird + Q1 prep | $1,500 | $500 | $700 | $200 | — | $100 | — |
How every campaign is named and structured.
Naming pattern: [PLATFORM]_[FUNNEL]_[SEGMENT]_[GEO]_[YYYYQQ]. Every campaign rolls up cleanly in reporting.
Google Ads
- "island creek rv"
- "island creek wilmington"
- "island creek campground"
- "wilmington nc rv park" (exact + phrase)
- "rv resort wilmington" (exact + phrase)
- "rv park near wrightsville beach"
- "cape fear rv resort"
- "monthly rv park wilmington nc"
- "long term rv stay nc coast"
- "snowbird rv park north carolina"
- "uncw family weekend lodging"
- "uncw graduation rv park"
- "uncw parents weekend"
- "big rig rv park wilmington"
- "pull through rv site nc"
- AG: Snowbird (NJ/NY/PA/MI/MN/OH)
- AG: Beach vacationer (Triangle/Charlotte/Richmond)
- AG: UNCW (alumni + parent demo, US-wide)
- Format: In-stream skippable (15–30s drone hero)
- Format: Bumper (6s site-tour edits)
- all visitors past 30 days
- Campspot abandoners — booking flow initiated, no confirm
Meta (Facebook + Instagram)
- Ad Set: Drive market (4-hr radius), 35–65
- Ad Set: Snowbird departure (NEUS + Midwest), 55–75
- Ad Set: KOA waitlist capture (geo-fenced + interest layered)
- Ad Set: Triangle (Raleigh / Durham / Chapel Hill)
- Ad Set: Charlotte metro
- Ad Set: DC / Richmond corridor
- Ad Set: NJ / NY / PA detailed targeting (Good Sam, FMCA, RVing interest)
- Ad Set: OH / MI / IN
- Ad Set: MN / WI
- Ad Set: Parents / alumni (interest + lookalike of UNCW alumni list)
- Ad Set: 1% lookalike of past-guest list, drive-market geo
- 180-day site visitors
- watched 75%+ of any property video
- Campspot abandon signal via CAPI
- single campaign, broad audience, Meta AI optimizes
Real headlines. Real ad copy. Brand-correct.
Below is the actual copy that will run, not a wireframe. We deliver 15+ headlines, 4 descriptions, and per-audience primary-text variants on day one of Phase 1.
15 Google headlines
≤30 chars each · pinned at slot 1 + 2
- 01Island Creek RV Resort
- 02Wilmington NC's New RV Resort
- 0366 Sites · Wrightsville Beach
- 04High-End RV Resort, Wilmington
- 05Premium Sites $130 / Night
- 06Monthly Stays from $1,180
- 07Quiet · Coastal · Concrete Pads
- 08Pickleball · Pool · Clubhouse
- 09Big Rig Friendly Pull-Throughs
- 10Snowbird Site Availability
- 11Now Booking — Opens Nov 2026
- 12Skip the KOA Waitlist
- 13Sidbury Rd · 5 min to Beach
- 14Family Weekend Bookings Open
- 15Book Direct — No OTA Fees
4 descriptions
≤90 chars each
- 01New high-end RV resort opening Nov 2026 in Wilmington. 66 sites, full hookups, big rigs welcome.
- 02Concrete pads. Clubhouse, pool, pickleball, dog park. Five minutes to Wrightsville Beach.
- 03Premium $130 / night. Monthly $1,180–$1,300. Snowbird-friendly. Reserve your dates now.
- 04Skip the highway noise. Quiet 19-acre property. Reservations open — book direct.
Tired of being on a waitlist for a coastal RV park? Wilmington's newest high-end RV resort is opening for the 2026–27 snowbird season. 30, 60, and 90-day stays available — concrete pads, big-rig friendly, 5 minutes to the beach. Lock founder rates for the first 100 reservations.
Camping near Wrightsville Beach without the campground feel. Island Creek RV Resort is 5 minutes from the surf, 15 from downtown Wilmington, a world away from the highway. Premium concrete-pad sites, pool, pickleball, clubhouse. Book before peak weekends sell out.
Coming down for Family Weekend at UNCW? Island Creek RV Resort sits 12 minutes from campus — pull up, plug in, walk in to the game. No two-hour drive home Sunday night. Limited weekend availability — reserve early.
Wilmington KOA's seasonal sites are full with a waitlist. Island Creek RV Resort opens Nov 2026 with 55 premium sites — concrete pads, ample spacing, full amenities, no Speedway next door. Reservations open now.
The math behind scale and kill.
No vibes-based budget moves. Every action is a rule with a trigger, an action, and a cooldown.
20% Scale Up
3× Kill
Decreasing Returns
Meta Creative Fatigue
Saturation watchlist
| Platform | Signal | Threshold | Action |
|---|---|---|---|
| Google Search | Impression share | >80% | Diversify queries or geo |
| Meta | Frequency (7d) | >4.0 | Refresh creative or expand audience |
| YouTube | Frequency | >3.0 | Replace assets |
| PMax | Asset group efficiency | >2x avg CPA | Pause asset group, leave others |
Native if you switch. Workaround if you don't.
The cleanest attribution comes from switching reservations to RoverPass — one stack, one data set, every booking tied to its ad source. That's the separate proposal coming your way. If you stay on Campspot, we close the gap with the workaround below: UTM passthrough + offline conversion import recovers ~70–80% of booking attribution despite Campspot's API limits.
Tracking stack
| Layer | Tool | Purpose | Cost |
|---|---|---|---|
| Web analytics | Google Analytics 4 | Site behavior, traffic source attribution | Free |
| Tag management | Google Tag Manager (server-side via Stape.io) | Single source of truth for all pixels + CAPI | $20/mo |
| Search tracking | Google Ads + Microsoft UET | Click → conversion attribution | Free |
| Social pixels | Meta Pixel + CAPI via GTM SS | First-party event collection | Free |
| Phone tracking | CallRail (1 number per channel) | Call attribution + recording | $45/mo |
| Booking handoff | RoverPass-native (if switched) · or Campspot UTM passthrough + Zapier offline import | Close attribution loop on every booking | Native on RoverPass · free workaround on Campspot |
The Campspot workaround, step by step
Only needed if you keep Campspot. Switch to RoverPass and steps 2–4 become native.
- 01Every marketing link carries utm_source, utm_medium, utm_campaign, utm_content, utm_term, plus gclid / fbclid when present.
- 02Campspot booking confirmation page gets a custom JS snippet that reads UTM + click IDs from sessionStorage and fires complete_booking event to GTM with full attribution payload.
- 03Campspot 'new booking' email forwarded to Zapier/n8n flow that matches against lead-form submissions, then pushes the conversion as an Offline Conversion Import to Google Ads + Microsoft + Meta CAPI.
- 04Lag-conversion handling: offline import covers up to 90 days post-click for Google/Microsoft and 28 days for Meta. Beyond that we accept the attribution gap.
When we stop and pivot.
Pre-committed checkpoints. If the answer to the question is 'no,' the action triggers automatically — no debate.