Skip to content
Growth & marketing
PPC pack

Meta Ads

Facebook and Instagram ads from real jobs that bring local leads, with tracking that respects consent.

  • Facebook
  • Instagram
  • Conversions API

Install

npx skills add webrenew/skills --skill meta-ads
GitHub

4 files · 556 lines · any agent that reads SKILL.md

Use it when

  • Boosted posts get likes but no customers
  • Facebook leads are junk, or never answer
  • You add the Meta Pixel or the Conversions API

What your agent delivers

  • Pixel and Conversions API events that match GA4 and respect consent
  • A lead campaign plan with honest ads from real work
  • A weekly check with change requests for the owner

Source files

Read every line before you install. Copy or download one file.

SKILL.md

201 lines

---
name: meta-ads
description: >
  Plan, build, audit or run Facebook and Instagram ads (Meta Ads) for a small business on a
  small budget, with tracking that respects consent and with the owner approving every change
  that spends money. Use this skill for the Meta Pixel and Conversions API (CAPI), event
  mapping and deduplication, Events Manager, campaign objectives (Leads, Sales), instant forms
  versus website leads, local radius and lookalike audiences, customer lists, ad creative from
  real jobs, special ad categories (housing, employment, financial products), frequency and
  budget, a weekly check, and when the user says "Facebook ads", "Instagram ads", "boost a
  post", "Meta pixel", "CAPI", "cost per lead on Facebook" or "our Facebook leads are junk".
---

# Meta Ads: Real Work, Real Customers, Spend the Owner Approved

**RULE: Track only with consent, show only real work and real words from real customers, and
change nothing that spends money without the owner's written yes.**

On Facebook and Instagram, people are not searching for a plumber. The ad must stop the
scroll with something true and local (a real job, a real face, a real review) and make the
next step easy. Meta's delivery system then finds more people like the ones who acted, so
the events you send decide who sees the ads.

## 1. Prerequisites

- Conversion tracking in GA4 works (`google-analytics`), and the site's consent banner works.
- The landing page or instant form is ready (`launch-landing-page`, `launch-lead-capture`),
  and someone replies within minutes (`launch-speed-to-lead`).
- The **owner's** Meta business portfolio owns the Facebook Page, the Instagram account, the
  ad account, the dataset (Pixel) and the payment method. The agency gets partner access.
  Never run ads from the agency's ad account: the owner loses the data when the agency leaves.
- Verify the website domain in the business portfolio (Brand safety, Domains).
- The owner gives a written monthly budget, the service area, the offer, and photos or videos
  of real work that they have the right to use.

## 2. Pixel plus Conversions API, with consent

Send each result from the browser (Pixel) **and** the server (Conversions API, CAPI), with
the same `event_id`, so Meta counts it once and still sees results that browsers block.

1. **Consent first.** Call `fbq("consent", "revoke")` before `fbq("init", ...)` where the
   banner asks for consent, and `fbq("consent", "grant")` when the visitor accepts ad or
   marketing cookies. Use the same banner choice as Google consent mode (`google-analytics`,
   step 3). Store the choice with the lead.
2. **Server events only for consented visitors.** CAPI does not read the banner. The server
   must check the stored consent before it sends.
3. **Hash the identifiers.** Email and phone are normalized (trimmed, lowercase, phone in
   digits with the country code) and hashed with SHA-256 before they leave the server.
   `fbp` and `fbc` cookies, IP address and user agent are sent unhashed, as Meta requires.
4. **Deduplicate.** The browser event and the server event share `event_name` and
   `event_id` (use the lead id or order id).
5. Check Events Manager: the event match quality score, the deduplication rate, and the
   Diagnostics tab.

Code for the Pixel, the shared `track` helper and the CAPI call is in
[references/conversions-api.md](references/conversions-api.md).

## 3. Map events to the same results as GA4

| Site event | GA4 (`google-analytics`) | Meta standard event | Optimize for it |
All skills
  1. 06

    Google Analytics

    PPC packgoogle-analytics

    See which channels and ads bring leads, calls and sales, in a report you read in one minute.

    See which channels and ads bring leads, calls and sales, in a report you read in one minute.

  2. 07

    Google Ads

    PPC packgoogle-ads

    Pay only for searches that can become customers, and approve every change that costs money.

    Pay only for searches that can become customers, and approve every change that costs money.

  3. 01

    Technical SEO

    seo-technical

    Make each page clear to search engines. Give them a path to every link.

    Make each page clear to search engines. Give them a path to every link.

  4. 02

    Local SEO

    Launch packlaunch-local-seo

    Get found by customers nearby, in local search and on Google Maps.

    Get found by customers nearby, in local search and on Google Maps.