CASE FILE — 03 / MULTI-CITY

Six campaigns. One playbook.

Same operator, same Meta setup, same DM-first booking path. Different cities, different price points, different lead costs. The point is repeatability — and what the cost per qualified DM looks like when the system is running.

327+DM conversationsAcross 6 campaigns / 4 US cities
$5.84Avg cost per DMRange $3.03 — $11.08 across cities
$1,909Total ad spendSep 2024 → Mar 2025
  • 4 US cities
  • 95K+ people reached
  • 1,197 new followers
  • 6 separate campaigns

Studio

Ternotattoo — tattoo studio scaling across 4 US cities

Problem

Booking flow worked when the calendar was full from organic reach, and stalled when it wasn't. No paid pipeline, no second source of demand, no way to pre-fill weeks ahead of a city stop.

What I did

Six campaigns over six months. Same DM-first booking path, different city, different offer wording, different creative set. Rebuilt audiences city by city, brought cost per DM down from $11 to $3 on the campaigns that ran longest, kept the studio's calendar pre-booked in each new market.

Result

327 qualified DM conversations from $1,909 in spend. 1,197 new followers as a side effect of the traffic budget. Studio walked into each new city with the calendar already moving.

Meta Ads Manager — Salt Lake City campaign: 89 DM conversations at $3.03 each
Salt Lake City — 89 DMs / $3.03
Meta Ads Manager — Portland campaign: 50 DM conversations at $3.12 each
Portland, OR — 50 DMs / $3.12
Meta Ads Manager — San Francisco campaign: 56 DM conversations at $5.65 each
San Francisco — 56 DMs / $5.65
Meta Ads Manager — Los Angeles campaign: 51 DM conversations at $8.61 each
Los Angeles — 51 DMs / $8.61
Meta Ads Manager — USA traffic campaign: 4,403 visits at $0.04 per visit
Profile traffic — $0.04 per visit

Same playbook, your city

Want this run in your market?

Send your Instagram and the city you want to fill. I will tell you whether paid demand is the lever, and what a DM-first build looks like for your studio.

DM me for a funnel audit →