PORTAL / LIBRARY / meta-web-leads

[ PAID MEDIA ]

/meta-web-leads

Creates a complete Meta Web Leads campaign from a Google Slides brief — reads copy, visuals (from Drive gallery), and targeting, then creates a PAUSED campaign optimized for Pixel Lead events on an external landing page.

Download the skill file (.md)

Placeholders like ACME Agency, <id> and you@example.com mark values that are per-agency — your install fills them with YOUR clients and accounts. If a section references a helper script you don't have yet, it ships with that workflow's install.

Meta Web Leads — Campaign Creator

When to trigger

What this skill does

Reads a Google Slides brief (same format as /meta-lead-ads), downloads visuals from a Drive gallery link, uploads assets to Meta, and creates a complete PAUSED campaign optimized for Pixel Lead events pointing to an external landing page. No native Meta lead form is created.

Key differences from /meta-lead-ads

Lead FormWeb Leads
DestinationMeta native form (ON_AD)External landing page (WEBSITE)
OptimizationLEAD_GENERATIONOFFSITE_CONVERSIONS + Pixel Lead event
Pixel neededNoYes (from brief or clients.json)
Lead form spec slideYesNo
Landing URL requiredNoYes

Google Slides brief format

Same as /meta-lead-ads — one slide per ad format. No lead form spec slide needed.

Supported ad types: SINGLE IMAGE, VIDEO, CAROUSEL (same markers as lead form skill).

ClickUp task format

Task name: Pustiti Meta web leads kampanju za <service>
Tag: claude-code
Description:
  https://docs.google.com/presentation/d/PRESENTATION_ID/edit
  Visuals: https://drive.google.com/drive/folders/FOLDER_ID
  Landing: https://prijava.mbdent.com
  Pixel: <id>
  Budget: 15€ dnevno
  Targetujemo cijelu Hrvatsku
  Godine: 30+

Required fields

Optional fields

Pixel ID resolution (priority order)

  1. pixel_id field in clients.json
  2. Pixel: tag in the ClickUp task description
  3. Fetch from ad account via Meta /adspixels (only if exactly one — errors if multiple)
  4. Error — script stops and tells you what to add

If found via brief or API, the script automatically saves it to clients.json for future runs.

What gets created in Meta

All objects created in PAUSED status.

  1. CampaignOUTCOME_LEADS objective, CBO with parsed budget
  2. Ad setOFFSITE_CONVERSIONS optimization, Pixel LEAD event, WEBSITE destination
  3. Ads — one per slide: single image, video, and/or carousel (LEARN_MORE CTA → landing URL)

How to run

Direct CLI

node ACME Agency/scripts/meta_web_leads.mjs \
  --client "ACME Agency" \
  --slides "https://docs.google.com/presentation/d/..." \
  --landing "https://prijava.mbdent.com" \
  --pixel "<id>"

Via ClickUp

Tag a task claude-code with the brief format above. The 5x-daily executor cron on your server picks it up.

Key files

FilePurpose
ACME Agency/scripts/meta_lead_ads.mjsContains runMetaWebLeads export and all shared helpers
ACME Agency/scripts/meta_web_leads.mjsThin CLI wrapper
ACME Agency/scripts/clickup_executor.mjsClickUp handler (meta_web_leads type)
ACME Agency/clients/clients.jsonClient registry — pixel_id, landing_page

After the skill runs

  1. ACME Agencyw in Ads Manager → activate campaign
  2. Verify Pixel fires Lead event on the thank-you page (use Meta Pixel Helper extension)
  3. GHL — leads arrive via landing page form (no additional wiring, unlike Meta-native Lead Form campaigns)

Built by

a teammate (sandbox proposal 2026-05-21). Skill wired in by Faris in the same session — sandbox couldn't write to .claude/skills/ directly.