Multi-location summer camps sold direct to parents against a hard enrollment deadline. This is how iExcel ran the full-funnel demand engine — Meta, Google, Klaviyo, Shopify, GA4.
Summer camp isn't a subscription. It's a one-shot purchase decision made by a parent, months in advance, for a specific week — at a specific location — for a specific kid. Miss the window and the seat's gone. Hit it and the family is booked, checked in, and posting a first-day photo before Memorial Day.
Brains and Motion runs that motion at scale. Multi-location summer camps and youth enrichment programs — sports weeks, art tables, activity days, small-group experiences — spread across school partnerships and city sites. Every location has its own enrollment cap. Every enrollment cap has its own countdown.
When iExcel picked up the account, the paid stack was live but scattered — Google Ads swinging between campaigns, Meta running against generic parent audiences, retargeting doing what retargeting always does when it's set up in a hurry, and Klaviyo firing seasonal blasts without a source-of-truth on who actually converted. What the business needed wasn't more media. It was a system that could tell one location's demand curve from another's.
Multi-location isn't a media problem — it's an audience problem. Every roster has its own school partnerships, its own catchment area, its own price point, its own week-by-week fill curve. The Meta program was rebuilt around that reality: campaigns split by location and program type, audiences built off school + zip signals, creative rotated per site so no parent saw a generic "book a camp" ad when the actual message was "book this camp, near this school, before it fills."
School-partnered site running full-day sports programming — soccer, basketball, tumbling, field games. Meta creative rotated per week; retargeting fenced to the local catchment.
Art-tables, maker-space, and small-group creative programming. Audience layer built around parents already engaged with enrichment content — not sports-first families.
Mixed-programming enrichment site — rotating activity blocks across weeks. Longest booking window; earliest fill deadline. Google Ads carried the highest ROAS on this program.
Narrow-theme programming across the season — themed weeks that ran hot on Meta and cold on search. Media mix skewed social-first with retargeting picking up abandoners.
Half-day programming for families balancing multiple schedules — parents booking around older-sibling activity conflicts. Call-ad testing lived here; short window, high intent.
Nature-anchored programming — hikes, water play, outdoor games. Creative leaned into the outdoor visual, and the ad set outperformed the general-sports variants at the same targeting.
The Google Ads account was doing what most under-tended accounts do: spending steady, ranking okay, and hiding the fact that one or two camps were subsidizing the rest. The reset started with a full campaign audit — keyword coverage, match-type discipline, negative keyword layering, geo-targeting per site, ad-copy relevance against the actual program page a parent would land on.
Performance Max was rebuilt from scratch. New asset groups mapped to program type. Audience signals fed off first-party enrollment data — past registrants, cart abandoners, high-value city clusters — not the auto-generated audience Google will happily invent for you. Creative refreshed against the summer visual system, not last year's holdover images.
The lever that changed the picture was ROAS-driven budget reallocation. Once campaign performance was legible, budget shifted off the flatlining programs and onto the two rosters where ROAS was consistently above the target curve. That's the "top-performing segment" — and the CPA improvement below is attached to it, not to the whole account.
Every summer camp funnel has the same silent leak: a parent who added the week to cart, got interrupted by dinner, and never came back. Retargeting is the recovery layer for that leak — and it only works if the audience map underneath is honest about who's actually in-market.
The retargeting layer got rebuilt against three signals: page-level intent (parents who hit a specific site's program page), cart abandonment (parents who started the Shopify checkout), and past-registrant lookalike (families who booked in prior seasons, seeded off first-party lists). Creative sequenced per stage — awareness → consideration → deadline reminder — so the last ad a parent saw was a booking prompt, not another generic camp brand impression.
In parallel, we ran a call-ad test on the half-day site — the one with the shortest decision window, where a parent talking to a human beats a parent tab-hunting for pricing. Call-ads carried a distinct set of KPIs (call-throughs, call duration, appointment set-rate) alongside the standard cost per lead. It was scoped as a learning test — data first, scale second, if the phone rang more than the form did.
Every summer camp business is sitting on the same underused asset: a list of parents who booked last year, whose kids aged into this year's cohort, and who are already primed to book again. The Klaviyo integration made that list usable. Segments built off past enrollment behavior — first-time bookers, multi-year loyalists, per-location repeaters, sibling-account families — each with a sequence designed to meet them where their decision actually lives.
Early-bird pricing flows. Location-specific nurture. Cart-abandonment recovery. Season-reveal announcements timed to when the Google Trends "summer camp" query curve starts to climb. And every send tagged so Shopify order-source data lined up with the campaign that touched them last.
The engagement lift was real — warm, opted-in past-parent audiences pulled roughly 2× the engagement of cold prospecting, measured directly against the program's own cold-acquisition sends in the same Klaviyo account. The attribution work sat next to it: reconciling Shopify order-source, GA4 last-non-direct, and Klaviyo flow attribution so the marketing team stopped fighting three tools about which one was right.
Multi-location enrollment produces one of the harder attribution puzzles in consumer marketing. A parent clicks a Meta ad in April, comes back to the site three times over two weeks, opens two Klaviyo emails, googles the brand once, and books through the Shopify checkout on a Sunday morning from a different device. Which channel gets the credit? Ask three tools and you'll get four answers.
The fix wasn't a new tool. It was making the tools already in the stack agree with each other. We stitched Shopify order-source data to the GA4 acquisition path, ran a source-analysis pass to identify where UTMs were dropping, tightened the tagging discipline across paid and email, and rebuilt the leadership-view reporting on top of it — one report, one view, one story per week.
The output wasn't a bigger dashboard. It was a smaller one. Fewer tiles, but every tile defensible. Marketing-sourced enrollment visibility restored to the point where the team stopped arguing about the channels and started arguing about the plays. Which is a much better argument to be having.
The organic search question isn't just "how do we rank for summer camps near me" anymore. It's "what does a parent see when they ask an AI for a recommendation, and are we in the answer." Traditional SEO still matters — a lot — for local intent queries. Generative-engine optimization (GEO) is the new layer sitting on top of it, and the ground under both is moving.
We ran the audit against both. Traditional SEO surfaced the usual list: local landing pages by site, structured data on program pages, metadata cleanup, internal linking to the highest-converting rosters, review-content discipline against the review-site queries parents actually type. Standard playbook, executed for the specific way parent-search behaves in a booking window.
The GEO layer sat next to it. Content structured for extractability — Q&A blocks, structured program summaries, location-anchored explainers written for the way an AI model will surface an answer, not the way a human will scroll a page. Not speculative — a documented roadmap the client's team can execute against as generative-engine share of search continues to grow.
The read from the season is the model for the next one. A summer camp business with multi-location enrollment and a hard deadline doesn't grow by spending more — it grows by concentrating spend where the math works, protecting the warm list, and stitching the tools so leadership can see the story on one page. Four moves the 2026 recommendation is built on:
ROAS-led budget allocation, refreshed weekly through the booking window. Under-performing rosters get creative + audience iteration, not more spend, until they earn it back.
Klaviyo segments compound year-over-year. Past-parent, sibling-account, per-location repeater flows treated as protected inventory — not optional lifecycle work.
Shopify order-source, GA4 acquisition path, and Klaviyo flow attribution reconciled into a single leadership report. Weekly. Non-negotiable. So the argument stays about the plays.
Local landing-page discipline for the classic search motion. Generative-engine roadmap alongside it. The two are complements, not substitutes — and the earlier they compound, the cheaper the summer gets.
None of the campaign work above holds up without the measurement stack that made it legible. This is the layer that stayed on across the season.
Multi-location camp targeting. Campaigns split by site and program type. Creative rotated per roster; retargeting fenced to catchment geography.
Full account audit, rebuild, and ongoing management. Performance Max asset groups mapped to program type. ROAS-led weekly reallocation through the booking window.
Three-signal audience map: page-level intent, cart abandonment, past-registrant lookalike. Sequenced creative from awareness through deadline reminder.
Scoped learning test on the shortest-window site. Call-through, duration, and appointment-set rate tracked as distinct KPIs alongside cost per lead.
Segments built off past-registrant, sibling-account, and per-location repeat behavior. Early-bird, location-nurture, cart-abandonment, and season-reveal flows all live.
Enrollment checkout. Order-source data stitched to marketing attribution. Cart-abandon events feeding back into retargeting audiences and Klaviyo flows.
Acquisition-path reporting reconciled against Shopify order-source and Klaviyo flow attribution. One leadership view, refreshed weekly through the season.
Local landing-page discipline, structured data, review-content strategy — plus a documented generative-engine optimization roadmap for the AI-answer layer.
Season recap synthesized into a next-season plan: concentrate on winners, protect the warm list, one truth layer, SEO + GEO in parallel. The playbook the season earned.
If you're running a seasonal, deadline-driven, direct-to-parent business — summer camp, after-school enrichment, weekend programming, kids' activity subscriptions — and you're staring at a paid stack that's live but scattered, a Klaviyo list that's underused, a Shopify/GA4 attribution story that changes depending on which report you open, and a search landscape that's mutating under generative AI — the Brains and Motion engagement is the shape of what to do about it.
Segment by location. Concentrate spend on winners. Rebuild retargeting off three defensible signals. Turn the warm list into inventory. Stitch the tools until leadership sees one story. Roadmap SEO and GEO in parallel. Then run the plan.
Most agencies sell the campaign. iExcel runs the operator layer underneath it — through the season, and into the recap that becomes next season's playbook.
A paid stack you can trust. A warm list that compounds. Attribution leadership doesn't argue with. A search roadmap that survives the generative shift. Book a 15-minute sanity check on your enrollment engine — we'll tell you what's under-built and what to do about it before the next booking window.
Book a 15-min sanity check →