Zodiac Tech CRM Docs

Creative Specialist

Build and version client ad creatives in the agency panel, route them through client review, and mark approved work ready for the ads team — view-only everywhere else.

ad-specialist Medium ⏱ 12 min Updated 2026-10-05

Creative Specialist

You make the ads worth clicking. Your seat is one screen — Creative Work in the agency panel — where you build creatives from the client's brief, version them honestly, send them for client review, and hand approved work to the ads side. Campaigns, launches and the setup queue belong to other roles.

Who this is for

Zodiac Tech agency staff with the creative_specialist role, signing in at /agency/login. Prerequisites: your agency account exists (created at /super-admin/meta-ads/agency-team) and clients' campaigns are assigned to your team.

Your permissions in plain language

From AgencyRolesSeeder::ROLE_PERMISSIONS['creative_specialist']:

Granted Meaning
meta.view See the agency panel and open client records.
meta.creative.manage The whole Creative Work screen: view, create and edit creatives.

Not granted, deliberately: meta.campaign.create/edit/pause (that is the Ads Specialist), meta.campaign.launch (only QA Reviewer), meta.setup, meta.connect, meta.support.manage, meta.performance.view and meta.client.manage. In Creative Work every action — view, create, edit — is gated on meta.creative.manage; that page is the whole job.

Your work loop

1. Open the queue

Meta Ads → Creative Work (/agency/meta-ads/creatives). The screen is one row per version of a creative, with Client, Creative title, Version (v1, v2…), Campaign, Status, Creator, Reviewer and Updated. Two filters do the heavy lifting:

  • Versions — Latest versions only (default) or All versions (history).
  • Status and Client — find what needs you.

2. Build or fix the creative

Open a row (or create a new one) and fill the record:

  • Client, Campaign and Creative Title.
  • The brief: Offer, Audience, Location, References / notes.
  • The content: Concept, Main Message / Copy, Headline, CTA, Asset.
  • Creator and Reviewer, plus the status and feedback fields.

The creative moves through: brief_required → content_required → in_progress → internal_review → client_review → approved (or changes_requested / rejected) → ready_for_ads.

3. Version instead of overwriting

When the client or your reviewer asks for changes, use New Version — it "creates v:next from this one; the current version stays in history." Nothing anyone already reviewed gets edited underneath them; feedback stays attached to the exact version it was about.

4. Send to the client

Send to Client moves a creative from the working states (internal_review, changes_requested, brief_required, content_required, in_progress) into client_review. The client sees it on their Creative Approvals page in the workspace (/admin), where the owner or manager approves it or sends it back with change-request comments. Their decision is recorded on the version row with the client's feedback.

5. Hand off to the ads side

Once a version is approved, the Ready for Ads action appears — use it. That status is the signal that this creative is cleared for the campaign build.

Expected result: every creative sits in a real state — in progress, with the client, in changes, approved, or ready for ads — with feedback recorded on the version it belongs to.

Common mistakes

  • Editing a version the client already reviewed. Use New Version; history is the point.
  • Sending to the client before internal review. internal_review exists so drafts do not reach clients half-finished.
  • Leaving approved work stuck at approved. Flip Ready for Ads so the ads specialist knows it is cleared.
  • Waiting on campaign permissions. You have none by design — campaign build, QA and launch route through other roles.

Technical details

  • MetaCreativeResource (nav: Creative Work, group: Meta Ads): rows are versions linked by family_id; the Versions filter shows latest-only vs full history. View/create/edit are all gated on meta.creative.manage.
  • Actions audit as meta_ops.creative_version (New Version), and the client's decisions as meta_ops.creative_approved_client / meta_ops.creative_changes_requested_client.
  • Client decisions are written to the version row (client_feedback + status) from the tenant panel's CreativeApprovals page.

Was this page helpful?