The AI-Native Marketing Agency Stack (2026)
Most "AI for marketing agencies" articles list 40 tools you'll never use. This isn't that. This is the actual stack EBCD runs to manage 13 client accounts in water treatment, solar, turf, and HVAC with a team of three.
The unlock isn't any single tool. It's stitching the right ones together so that one operator can do the work of an old-school 12-person agency. Here's what's running.
Creative production — image, video, voice
Imagen 4 (NanoBanana Pro) for ad images. Daily quota of 70 generations is more than enough to A/B test 6–8 hooks across 3 audiences per campaign. The trick is prompt-engineering the brand consistency in (background, color palette, character look) so every image feels like one campaign, not 70 disconnected pieces. We never use "Large:" or "Medium:" labels in prompts — Imagen renders them literally as text in the image. Same with quotes around proper nouns.
HeyGen for UGC talking-head ads. A 25-second AI avatar script costs about $0.30 in HeyGen credits and converts at parity with human-shot UGC once you add motion graphics, color-coded captions, and a CTA endcard. The full pipeline is documented in our HeyGen-to-Meta post.
Veo 3.1 for b-roll. Generates 8-second clips at 1080×1920 portrait. We use it for atmospheric b-roll (water pouring, sunlight, hands on tools) that we can't legally pull from stock for paid ads. Three Veo clips stitched with captions = a 25-second ad.
ElevenLabs for voiceover. Spanish-language clients get Spanish voiceovers from ElevenLabs models tuned for Latin American Spanish. The native-feeling delivery is the difference between an ad that converts and one that gets scrolled past in 0.8 seconds.
Ad operations — Meta first, everything else second
We run Meta exclusively for 11 of 13 clients. TikTok and Google get tested as expansion channels but Meta delivers the cheapest qualified appointments in home services right now, full stop.
The Meta stack:
- Single Meta access token covers all client accounts (I'm admin on every one — saves a token-management nightmare).
- Advantage+ campaigns by default for cold traffic. Manual targeting for retargeting and lookalikes only.
- Conversion event = "Schedule" fired from GHL via webhook when a booked appointment lands. Never optimize for "Lead" — the algorithm finds form-fillers, not buyers.
- 3 ad sets per campaign max. More than that and the budget fragments.
- 6–8 creatives per ad set, killed every 7 days based on a CPL threshold (50% above account average = kill).
Lead capture + CRM — GoHighLevel
GoHighLevel runs everything that happens between the ad click and the sales call: landing page form submission, SMS/WhatsApp follow-up, calendar booking, pipeline stages, AI chatbot, and email nurture. One platform, one source of truth.
Critical setup details that most agencies skip:
- Quiz-funnel forms, never flat forms. Step 1 is always an easy yes/no qualifier. Form completion rates jump from ~18% to ~42% the moment you move from flat to multi-step.
- AI WhatsApp follow-up for Spanish-speaking markets. Speed-to-lead under 60 seconds. Beats every human setter on response time, doesn't get tired at 9pm.
- Appointment confirmation workflow that texts the rep 15 minutes before the call with the lead's quiz answers prefilled. No more reps walking into calls cold.
Full GHL playbook lives in our water-treatment automation post.
Landing pages — two frameworks, one decision rule
We ship landing pages on one of two stacks:
- Next.js + Tailwind for sites that need a blog, multi-language routing, or complex state. Hosted on Vercel under our personal namespace.
- Single-file HTML for one-off territory pages or fast-test landers. Same Vercel deploy pattern, deployed in minutes.
The decision rule:
If the page is meant to be indexed for SEO → Brunson framework (squeeze, above-fold form, trial closes). If it's a paid-traffic noindex page → Wojo framework (attention bar, hook H1, VSL, mechanism, proof, FAQ, form at bottom).
Both frameworks are templated in our reference library. Total time from kickoff to live, working landing page: usually under 5 days.
Operations + team — ClickUp + Slack
Three people run client ops. Julián handles automations (he's learning N8N for advanced workflows), Javier handles day-to-day account ops, and I cover sales, creative direction, and the strategic calls. All tasks live in ClickUp — every single one in Spanish, because that's the team's first language. Slack is for instant comms only; nothing important lives in DMs.
One operational rule we never break: every ClickUp task has an assignee, a start date, a due date, and any media attached in Google Drive (never a local file path). Tasks without those four things get rejected.
Reporting + dashboards — custom Flask on Railway
We built a custom dashboard at dashboard.ebcd.io that pulls live data from every client's Meta ad account, GHL pipeline, and Google Business Profile. It runs as a Flask monolith on Railway and serves both an API and HTML view. Single source of truth for CPL, pipeline health, and weekly trend lines.
Why custom instead of buying something? Because no off-the-shelf tool joins Meta spend, GHL opportunities, and per-rep performance in one query. We built ours in about 3 weeks and it's saved us 8+ hours/week ever since.
Content + research — Claude + Apify
Claude for everything text: ad copy variants, email sequences, SMS scripts, blog drafts, client reports, sales call scripts. Never published raw — always edited by a human who's actually done the work — but it eliminates the blank page problem.
Apify for scraping: prospect lists from Google Maps, competitor ad libraries from Facebook Ad Library, influencer accounts from Instagram. About $1–3 per metro scrape on the Starter plan. We don't bother with the Meta Graph API for ad-library research anymore — Apify's facebook-ads-scraper actor is faster and doesn't require API access we don't have.
What's NOT in the stack (on purpose)
- No marketing automation platforms (HubSpot, ActiveCampaign). GHL covers it.
- No ad management dashboards (Triple Whale, Northbeam). Our custom dashboard does it cheaper.
- No agency project management tools (Asana, Monday). ClickUp covers it.
- No design tools beyond AI (Figma comes out only for landing-page mockups, not ad creatives — Imagen and HeyGen output is the final asset).
The compounding effect
The reason this stack works isn't that any single tool is best-in-class. It's that they're stitched together so one operator can produce — in a day — what an old-school agency would assign to four different specialists across a week.
That's the AI-native unlock. Not "ChatGPT writes my ads." It's vertical integration of operations such that the marginal cost of running one more client account approaches zero.
We onboard a new client and the system absorbs them. The dashboard pulls their ad account in. ClickUp creates the project. Imagen ships 70 creatives. HeyGen ships a UGC ad. GHL builds the pipeline. The landing page deploys. None of it requires inventing anything new.
That's the system. The hard part isn't the tools — it's having the operational discipline to run them every day without skipping steps.
Want this stack running in your business?
If you're a home-service owner doing $500K+ and you want an honest read on what's missing in your setup, the Audit package was built for exactly this.
See the Packages →