AI / Automation

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:

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:

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:

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)

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 →
Keep Reading

More on AI / Automation