Ads Specialist
Build and tune client Meta campaigns in the agency panel — setup, campaign work, performance monitoring — with the launch gate firmly outside your hands.
Ads Specialist
You build the Meta side of client delivery: get the client's account set up, keep campaigns healthy, watch performance, and hand work to QA for the go-live decision. You can create, edit and pause campaigns — but you cannot launch, and that is on purpose.
Who this is for
Zodiac Tech agency staff with the ads_specialist role, signing in at /agency/login.
Prerequisites: your agency account exists (created at
/super-admin/meta-ads/agency-team) and clients are assigned to you.
Your permissions in plain language
From AgencyRolesSeeder::ROLE_PERMISSIONS['ads_specialist']:
| Granted | Meaning |
|---|---|
meta.view |
See the agency panel screens. |
meta.setup |
Work the Setup Queue stages and checklists. |
meta.connect |
Help connect a client's Meta assets. |
meta.campaign.create / .edit / .pause |
Build, correct and pause campaigns. |
meta.performance.view |
Active Campaigns, Needs Attention, Daily Brief, Portfolio Report. |
Not granted: meta.campaign.launch (only qa_reviewer holds it), meta.creative.manage
(creative work belongs to the Creative Specialist),
meta.client.manage (client profile edits), meta.support.manage (requests/support desk).
Your daily routine
1. Morning — the health sweep
- Meta Ads → Daily Brief (
/agency/meta-ads/daily-brief) — the overnight summary: spend, delivery changes, anything flagged. An automated ops scan runs every 30 minutes and the brief lands at 07:15. - Needs Attention (
/agency/meta-ads/needs-attention) — campaigns with delivery, tracking or lead problems. Fix in priority order: broken > under-delivering > optimising. - Active Campaigns (
/agency/meta-ads/active-campaigns) — spot-check pacing and leads per campaign.
2. Work the Setup Queue for your clients
- Meta Ads → Setup Queue (
/agency/meta-ads/setup-queue) — filter by Owner for yours. - Open a client and complete the ads-side stages and checklists: campaign setup, tracking, creative readiness. Tick only what is actually done; the pipeline feeds the client's progress and the platform team's dashboard.
- If the Meta connection is missing, use Request Facebook Connection (or the account manager does) — nothing can be built before the Page/ad account is connected.
3. Build and adjust campaigns
- Campaigns arrive as drafts with the client's brief (product, budget, objective, audience) — built from the client's workspace through the AI campaign builder, where the client approves each draft. Your side of the loop: make the draft correct, then it must pass QA before anything reaches Meta.
- Your
meta.campaign.create/edit/pausepermission covers building, correcting and pausing. The launch path is: draft → client approval → QA pass → launch. Launched campaigns are created PAUSED on Meta and are activated deliberately in Meta Ads Manager. - Never bypass QA to "save time" — the platform enforces the gate outside the UI too
(
CampaignBriefService::launch()refuses anything withoutqa_status = passed).
4. Performance reporting
- Portfolio Report (
/agency/meta-ads/portfolio-report) — across clients, for reviews. - Team Workload (
/agency/meta-ads/team-workload) — where the week's effort sits. - Deep tracking mechanics: Tracking & attribution and Ads health & needs attention.
Expected result
- Every campaign you touch is either healthy, paused with a reason, or in QA with a full checklist — never "somewhere in between".
- Performance views match Meta's numbers; discrepancies go to Needs Attention, not into a spreadsheet.
Common mistakes
- Waiting for the client to report a broken campaign. Needs Attention finds it first — read it daily.
- Changing campaign settings during someone's test. Note tests in the client workspace internal notes so colleagues know.
- Editing creatives yourself. You do not have
meta.creative.manage— request through Client Requests and the creative specialist. - Assuming launch rights. You have none. That is the QA gate working as designed.
Technical details
- Pages are shared with the SA panel but re-navigated in the agency panel at
/agency/meta-ads/*; each page declares its$metaPermissionandChecksMetaPermissionenforces it on mount and hydrate. meta.*permissions are seeded byAgencyRolesSeeder; super admins bypass viaUser::hasMetaPermission().- Campaign drafts and QA states live on
MetaCampaignDraft(draft,approved,launched,failed,rejected; QAin_qa,passed,failed).
Related guides
- Campaigns · Creatives
- QA Reviewer — the role that launches.
- Account Manager · Creative Specialist
- Meta overview
Was this page helpful?
Thanks — noted. ✦