Launch your first ads campaign
Outcome: a single brief produces platform-tailored creative on Google, LinkedIn, and Meta, with a custom audience pushed from your CRM segment.
Before you start
- Admin access on the Google Ads, LinkedIn Ads, and Meta Ads accounts you want to push to
- One CRM segment representing the audience you want to target
- A clear offering description, two or three sentences is enough
Time: about 25 minutes if all three ad accounts are already connected. Plan for 45 minutes the first time, since each ad platform OAuth has its own quirks.
Steps
- Connect Google Ads, LinkedIn Ads, and Meta Ads under Connectors → Ads. Each connector requires admin scope on the underlying account so we can push custom audiences and create campaigns in paused state.
- Build the target Segment in CRM. A common starter is all leads with status
prospectin a single industry, so the platform-side audiences stay focused enough for LinkedIn’s match-rate threshold. - Run
ads-strategy-labfor a multi-platform plan with budgets and KPIs. The output is a structured brief you can edit before any creative is generated. - Run
ad-copy-generatorto produce LinkedIn, Meta, and Google variants. Each platform gets its own headline lengths, CTA conventions, and image aspect ratios. - Launch with
launch_ad_campaignper platform. Campaigns are created paused, so you can review in each native ad manager before flipping the switch.
generate_ad_copy({ brand_id, offering: "...", platforms: ["linkedin", "meta", "google"] })
launch_ad_campaign({ platform: "linkedin", segment_id, brand_id, daily_budget_usd: 50 })
How to verify the campaign launched cleanly
In each native ad manager, open the campaign and confirm three things: the custom audience size matches your segment (within the platform’s hashing tolerance), the daily budget matches what you sent, and at least one ad in each ad group has a “Eligible” status. Anything else means a creative or audience policy check is still pending.
If something looks wrong
- LinkedIn audience shows “Below 300, ineligible”. LinkedIn requires a minimum match. Broaden your CRM segment or wait for hashing to finish (it can take up to a few hours after first push).
- Google headline rejected for trademark. The ad-copy-generator pulls from your brand voice. If you used a competitor’s name there by accident, regenerate after editing Settings → Brand Voice.
- Meta campaign created but ads didn’t render. Most often a missing image aspect ratio. Re-run
generate_ad_copywithplatforms: ["meta"]and the latest agent build will produce all three required ratios.
What to do next
- Tune the funnel: Build a behavioral lead-scoring flow so Meta-sourced leads get auto-qualified
- Add organic: Generate and publish your first blog for the same offering
- Reference: Ad strategy lab agent and Ad copy generator agent