Module 4, Lesson 7: Plan Your Facebook Campaign & Install the Meta Pixel

Module 4, Lesson 7: Plan Your Facebook Campaign & Install the Meta Pixel

15 min read min

In this lesson, I’m picking up from having a live, tracked landing page — and now we need to actually get people to it.

ℹ️
One thing worth flagging: the GTM document we generated in Module 2, Lesson 6 actually recommends against Meta ads at low budget, calling it below minimum viable spend for a consumer app. I want to be transparent about that. What we’re doing here isn’t contradicting the GTM plan — it’s supplementing it with a small-budget validation experiment before we’re fully built. The goal is data, not scale. Keep that in mind as we go through this.

Before We Start

From previous lessons:

  • Your landing page is live — Module 4, Lesson 1
  • PostHog is installed and tracking — Module 4, Lesson 5
  • Your reverse proxy is set up so ad blockers don’t interfere — Module 4, Lesson 6
  • You have your full document set from Module 2: Market Research, Summary, and GTM. If you’re following along with your own app, these are the docs you produced in Module 2, Lessons 1–6 — you’ll be feeding them into Claude in this lesson

Tools / setup you’ll need:

  • A Facebook personal account (required to create a Business account)
  • Claude Desktop with Co-work or your documents folder accessible
  • Claude Code running in WebStorm terminal (for the pixel install)
  • A GitHub → Vercel deployment pipeline already working

By the end of this lesson, you’ll:

  • Have a Facebook Business account and Ad account ready to run ads
  • Have used Claude to generate a complete Facebook pre-launch campaign plan from your product docs
  • Know what questions Claude will ask you — and the right answers to give
  • Have the Meta Pixel installed on your live site and verified it’s working
  • Understand the full structure of a pre-launch ad campaign: objective, audience, creatives, UTM tags, and metrics

About This Lesson

Duration: ~13 minutes video + ~20 minutes practice Skill Level: Beginner What You’ll Build: A ready-to-run Facebook pre-launch campaign plan, plus a working Meta Pixel on your live site.

Here’s the thing about pre-launch traffic: you can’t just publish a page and hope people show up. The landing page is live, tracking is working — but none of that matters if no one visits it. This lesson is about getting your first real visitors, gathering data on what resonates, and building an audience before the app is ready to ship. Meta ads, even at $5–10/day, give you that signal faster than almost anything else at this stage.


Watch the Lesson


ℹ️
How I’d suggest going through this: Watch the video first without stopping — just get the big picture. Then come back here and work through the guide section by section, pausing the video at the timestamps I’ve noted. After that, this guide is your reference — you shouldn’t need to rewatch to look something up.

What We’re Covering

  • Facebook Business setup — the prerequisite steps: creating a Page and Ad Account so Meta will actually let you run ads
  • Using Claude to plan the campaign — how to feed your product docs into Claude and get a complete, structured campaign plan back
  • What to answer when Claude asks questions — the clarifications that actually shape the output
  • Installing the Meta Pixel — how to get the tracking code onto your live site in under 5 minutes, using Claude Code
  • Verifying it works — how to confirm the pixel is firing before you spend a single dollar

1. Let’s Set the Scene (~0:00)

At this point, you should have your landing page set up, tracking is working, and things are looking good. But here’s the reality: a page without traffic is just a page. Especially for pre-launch, especially for what we’re doing — you have to drive traffic there.

For most apps at this stage, Meta ads — Facebook ads — is one of the cheapest ways to get real people to your page. And I want to be clear about what we’re trying to accomplish here. We haven’t built the full product yet. What I want is to put this in front of real people so that by the time we’re shipping, we already have a pool of people who’ve said “yes, I’m interested.” That’s the goal. Not scale. Not ROI. Data and early adopters.


2. Setting Up Your Facebook Business Account

2.1 Create the Business Account

Before you can run any ads, you need a Facebook Business account. Head to business.facebook.com — not regular facebook.com. This is the business and advertising side of Facebook. If you don’t have a Facebook personal account yet, you’ll need to create one first.

Once you’re in, it’ll create a business account for you.

2.2 Create a Facebook Page

Meta requires you to have a Facebook Page attached to your account before you can run ads. We’re not doing anything with this page — no organic content, no followers. It just needs to exist.

Go to Settings → Pages and create a new page. Name it after your app. For the category, pick whatever fits closest (for Nurturo I used “Parenting”). That’s it — create it, confirm it shows up, and move on. You won’t be touching this page again for a while.

2.3 Set Up an Ad Account

Still in Settings, go to Ad Accounts and create one. You’ll be asked to add a payment card — this is what Meta will charge when your ads run. Set it up and confirm the account exists.

ℹ️
These three things — Business account, Page, and Ad Account — are the prerequisites Meta needs before you can launch anything. Get them sorted now so there’s no friction when you’re ready to hit go.

3. Using Claude to Plan the Campaign (~2:47)

This is the main event. We’re going to feed your product documents into Claude and have it generate a complete Facebook pre-launch campaign plan — structured, research-backed, and tailored to your app.

3.1 What to Have Open

Open Claude Desktop and make sure you’re in Co-work mode (or have your documents accessible). The documents you’ll be referencing are the ones you produced back in Module 2:

  • Market Research (Module 2, Lesson 1–2)
  • Summary (the distilled version from Module 2)
  • GTM Document (Module 2, Lesson 6)

Claude is going to read these and use them as grounding context for everything it produces. This is the whole point of doing the research and documentation first — it pays off here.

⚠️
I’m using Sonnet 4.6 for this, not Opus. The reason is simple: this is a long prompt with a lot of context, and I don’t want to burn through tokens too fast. Sonnet handles this kind of structured research task well. If you’re on a plan with usage limits, keep that in mind.

3.2 The Prompt Structure

Here’s the shape of the prompt I used — adapt this for your own app:

Review the following in my folder:
- App - [Your App Name] - Market Research
- App - [Your App Name] - Summary

And based on this, design a Facebook campaign to drive initial early adopters to my page for the pre-launch.

I have a maximum budget of $5–$10/day, capped at $150 total.

The page is at [your-app-url]

Here are the core things I need:
- The best ad structure
- Creatives
- Audience
- Relevant UTM tagging
- Metrics to track
- Success metrics

Review and do deep research on this, and before you write it, ask me all the relevant questions you have.

The key line at the end is: ask me all the relevant questions first. Don’t let Claude just run with it immediately. You want to answer a few clarifying questions before it writes anything — that’s what shapes the output.

3.3 The Questions Claude Will Ask (and How to Answer Them)

Claude will come back with clarifying questions before it writes the plan. Here’s what I got asked, and the answers I gave — use these as a guide for what to think through for your own app:

Call to action — what do you want people to do when they land on the page?

Not “join a waitlist.” Waitlists feel passive and cheap. I want “sign up for beta” — the framing that you’re going to try the app. It’s a stronger commitment signal from people who actually intend to use it.

What creative assets do you currently have?

Be honest here. If you don’t have video recordings of the app, say so. At this stage I only had the landing page — no app demo, no screenshots of working features. That shapes the creative direction: copy-heavy ads, strong headline, simple design direction. Claude will work with whatever you have.

Who is the primary emotional persona you’re targeting?

This one is interesting because you probably have a few candidate audiences. My answer: test all three angles, let the data decide. We made assumptions in the research phase — now we’re putting it in front of the real world to see what resonates. That’s exactly what low-budget testing is for.

Do you have the Meta Pixel installed?

At the time I ran this prompt — no. I told Claude the pixel wasn’t installed yet. This is fine, it doesn’t block the planning. We install the pixel at the end of this lesson. Claude notes it as a prerequisite but writes the plan assuming you’ll have it sorted before the campaign goes live.

Do you have a Meta Business account and Ad Account set up?

Yes — because we did that in Section 2 above. This is why we set it up first.

3.4 What Claude Produces

After you answer the questions, Claude will run its research and generate a campaign document. It writes this directly into your notes folder (if you’re using Co-work with Obsidian or a local folder connection). The output covers:

  • Campaign objective — what to optimize for at your budget level
  • Ad set structure — how many ad sets, what audience targeting for each
  • Creative direction — what the ads should look like given what you have available
  • UTM tag structure — how to tag your links so PostHog knows where traffic is coming from
  • Metrics to watch — what to look at inside Ads Manager
  • Success metrics — how to know if this experiment is working or if you should kill it
ℹ️
The campaign doc Claude produces isn’t final ad copy — it’s a strategic plan. Think of it as your brief. You’ll take the creative direction and write the actual ad copy yourself, or have Claude help you with that as a separate step once the plan is set.

3.5 Why UTM Tags Matter Here

UTM parameters are the link tracking codes that tell PostHog (and eventually Google Analytics, if you add it) exactly where each visitor came from. Without them, all your Facebook traffic shows up as “direct” and you have no idea which ad, which audience, or which creative is working.

A typical UTM-tagged link for this campaign looks like:

https://yourapp.com/?utm_source=facebook&utm_medium=paid_social&utm_campaign=prelaunch&utm_content=audience-1-creative-a

Claude will generate the full UTM structure for you as part of the campaign plan. The key thing to understand is that utm_content is where you differentiate between ad variants — so when you’re looking at PostHog later, you can see which specific ad drove the most signups.


4. Installing the Meta Pixel (~8:18)

The Meta Pixel is a small piece of JavaScript that sits in your site’s <head> tag. It tells Facebook when someone visits your page, which is what enables the ad targeting and conversion tracking. Without it, you’re flying completely blind on the ad side.

4.1 Create the Pixel in Meta

Back in business.facebook.com, go to Settings → Data Sources → Datasets. Click Add, name your pixel after your app (e.g. “Nurturo App”), connect it to the Ad Account you created earlier, and click through.

Meta will then walk you to Events Manager, where you’ll find the pixel setup flow. Choose Install Code Manually — this gives you a code snippet to copy.

Copy that code snippet. You’ll paste it into Claude in a moment.

4.2 Install It via Claude Code

Don’t manually edit your HTML or React files. Just open Claude Code (in your WebStorm terminal) and give it a simple prompt:

Setup meta pixel

[paste the pixel code snippet here]

Claude will find the right place in your codebase — the <head> section of your layout file — and insert the pixel code correctly. Once it’s done, tell it to commit and push.

Because your GitHub → Vercel pipeline is already set up (Module 4, Lesson 3), that commit will automatically trigger a deployment. Your live site will be updated within a minute or two.

4.3 Verify It’s Working

Install the Meta Pixel Helper Chrome extension — search for it in the Chrome Web Store and add it. Then navigate to your live site, refresh the page, and click the extension icon in your toolbar.

You should see:

  • The pixel ID detected on the page
  • A PageView event firing

That PageView event is the critical one. It means Meta is successfully receiving data from your site. You’ll also see this confirmed in Events Manager — your pixel should show as Active.

If the Pixel Helper shows your pixel ID and a PageView event — you’re done. Everything is wired up. You can now run ads and Meta will be able to track what happens when people land on your page.
ℹ️
When Events Manager asks about “Advanced Matching” (email address, phone number, etc.) — this helps Meta match website visitors to Facebook profiles for better targeting. It’s optional, but I leave it on. If the data sharing concerns you, you can skip it. It won’t affect whether the pixel works for basic tracking.

5. Watch Out For These

⚠️
Running the campaign before the pixel is installed
Why this happens: It’s tempting to just get the ads live. But without the pixel, Meta has no conversion data — it can’t optimise your campaign, and you can’t see which ad drove signups in PostHog.
How to avoid it: Always confirm the Pixel Helper shows a PageView event before you activate any ad sets.
⚠️
Skipping the questions and letting Claude just write the plan
Why this happens: The prompt says “ask me questions first” but it’s easy to miss that line or skip it when you’re in a hurry.
How to avoid it: Keep that instruction in the prompt. The questions Claude asks — about your CTA, your assets, your target persona — directly shape what it produces. A plan without those inputs is a generic plan. You want something grounded in your specific situation.
⚠️
Not using UTM tags on your ad links
Why this happens: It’s easy to forget, especially when you’re figuring out the Ads Manager UI for the first time.
How to avoid it: Claude generates your UTM structure as part of the campaign plan. Copy it and use it. If you go live without UTMs, PostHog won’t attribute the traffic correctly and you’ll have no way to know what’s working.
⚠️
Using “join the waitlist” as your CTA
Why this happens: It’s the default — every template and tutorial uses it.
Why it’s wrong: “Waitlist” signals you’re not ready. It’s passive. “Sign up for beta” signals that people are going to actually use the thing. It attracts a higher-intent signup and sets the right expectation. Use “sign up for beta” or “get early access” instead.

6. Practice

Exercise 1: Set Up the Facebook Prerequisites

What to do: Create a Facebook Business account, add a Page for your app, and set up an Ad Account with a payment method. Don’t run any ads yet — just get the infrastructure in place.

How you’ll know it’s working: You can navigate to business.facebook.com, see your Page listed under Pages, and see your Ad Account listed under Ad Accounts with a status of Active.

Exercise 2: Run the Campaign Planning Prompt

What to do: Open Claude Desktop, point it at your Market Research and Summary documents from Module 2, and run the campaign planning prompt from Section 3.2. Answer Claude’s clarifying questions honestly — especially the ones about what creative assets you have and what your CTA is.

A nudge if you’re stuck: If Claude doesn’t ask you questions before writing, check that the last line of your prompt explicitly says “before you write it, ask me all the relevant questions.” If it’s already written a plan, start a fresh conversation and try again.

How you’ll know it’s working: Claude produces a structured document covering ad structure, audience, creatives, UTM tags, and metrics — and it’s saved to your notes or project folder.

Exercise 3: Install and Verify the Meta Pixel

What to do: Create a pixel in Meta Events Manager, copy the code snippet, install it via Claude Code with a simple prompt, commit and push, then verify it’s firing using the Meta Pixel Helper extension.

How you’ll know it’s working: Meta Pixel Helper shows your pixel ID and a PageView event on your live site. Events Manager shows the pixel status as Active.


7. You Should Be Able to Build This Now

With what we just covered, you can:

  • Set up the full Facebook Business infrastructure for any app you’re launching
  • Use Claude to generate a structured, research-backed pre-launch ad campaign plan
  • Install a tracking pixel on any site using Claude Code — no manual HTML editing
  • Verify tracking is working before spending money on ads

Check Yourself

  • I have a Facebook Business account, Page, and Ad Account set up
  • I’ve run the campaign planning prompt and have a structured campaign document
  • I understand why Claude needs to ask clarifying questions before writing the plan
  • The Meta Pixel is installed on my live site and verified with the Pixel Helper
  • My campaign document includes UTM tag structure
Ticking those boxes means you’re set up to actually run ads in the next lesson. Nice work getting here.

If Something’s Not Working

⚠️
Meta Pixel Helper shows “No pixel found”
What’s happening: The pixel code wasn’t added to the <head> of your page, or the deployment hasn’t propagated yet.
How to fix it: Check that Claude Code committed and pushed successfully. Wait 1–2 minutes for Vercel to deploy, then hard-refresh the page (Cmd+Shift+R on Mac). If it still doesn’t show, ask Claude Code to verify where the pixel code was inserted and confirm it’s in the <head> of your root layout file.
⚠️
Meta won’t let you create an Ad Account
What’s happening: This sometimes happens with new Facebook accounts that Meta considers unverified or low-trust.
How to fix it: Make sure your personal Facebook profile is reasonably complete (profile photo, some activity) and that you’ve confirmed your email and phone number on the account. Give it 24 hours if Meta flags it for review — this is a platform trust issue, not a technical one.

The Short Version

Here’s what I want you to walk away with:

  • The Facebook infrastructure prerequisites: Page + Ad Account need to exist before you can run anything. Get them done early so they’re not blocking you when you’re ready to launch.
  • Claude can plan your entire campaign: Feed it your research and docs, let it ask its clarifying questions, and it’ll produce a structured campaign plan that covers everything from audience targeting to UTM structure.
  • The Meta Pixel is non-negotiable: Install it before you spend a dollar on ads. Without it, you’re running blind — no conversion tracking, no optimisation signal, no PostHog attribution.
  • What you can do now: You’re one lesson away from having your first real ad live in the world.

Quick Reference

The Core Prompt Shape

Review the following in my folder:
- App - [App Name] - Market Research
- App - [App Name] - Summary

Design a Facebook campaign to drive initial early adopters to my page for the pre-launch.

Budget: $5–$10/day, capped at $[total]

Page: [your-url]

I need:
- The best ad structure
- Creatives
- Audience
- Relevant UTM tagging
- Metrics to track
- Success metrics

Review and do deep research on this, and before you write it, ask me all the relevant questions you have.

UTM Parameter Reference

Parameter What It Tracks Example
utm_source Traffic source facebook
utm_medium Channel type paid_social
utm_campaign Campaign name prelaunch
utm_content Specific ad variant audience1-creative-a

Meta Pixel Install Prompt

Setup meta pixel

[paste pixel code snippet here]

Then: commit and push

Pixel Verification Checklist

  • Meta Pixel Helper installed in Chrome
  • Navigate to live site and refresh
  • Extension shows pixel ID detected
  • Extension shows PageView event firing
  • Events Manager shows pixel status as Active

Resources

Tools Used


Questions I Get Asked

Q: Do I need a budget bigger than $5–10/day to get useful data?

Honestly, no — not at this stage. The goal here isn’t to run a profit-generating ad campaign. It’s to put your idea in front of real people and see if they click. $5–10/day is enough to get a few hundred impressions and a handful of clicks. That’s enough to tell you whether your messaging resonates before you scale up.

Q: Should I wait until the app is fully built before running ads?

No — that’s the whole point of this lesson. By the time you’re ready to ship, you want to have an audience already waiting. Building in public, running small pre-launch campaigns, collecting beta signups — all of that means launch day isn’t just you shouting into the void.

Q: The GTM doc I wrote in Module 2 says don’t run Meta ads. Should I follow that?

The GTM doc was written for the full launch strategy — it’s arguing against Meta as a primary acquisition channel at scale because the economics don’t work at low budget long-term. This is different. This is a pre-launch experiment at $5/day to gather data. Those are two different things. Use the GTM plan as your north star for launch, and use this lesson as a validation step before you get there.

Q: How do I know I’m ready for the next lesson?

If you’ve got the pixel verified and Claude has produced a campaign plan for your app, you’re ready. The next lesson is actually building and launching the ads.


💬 Stuck? Come Talk to Us

💡
If something’s not clicking or you want to share what you’ve built — come find us in Discord.
The Product Path community → https://discord.gg/RFXRf9yg
Drop your question in the right channel. The community’s active and I check in there too.

Glossary

Meta Pixel: A small JavaScript snippet that you add to your website’s <head> tag. It fires events (like PageView) back to Facebook whenever someone visits your site, enabling ad conversion tracking and audience building. (first comes up in Module 4, Lesson 7)

UTM parameters: Tags appended to a URL that tell your analytics tool (PostHog, Google Analytics) where a visitor came from. Essential for attributing signups to specific ads. (we use UTM tagging throughout the course — first discussed in Module 2, Lesson 6 - GTM Document)

Meta Pixel Helper: A free Chrome extension from Meta that lets you verify a pixel is installed correctly on any page. Shows which pixel IDs are present and which events are firing. (introduced in Module 4, Lesson 7)

Campaign brief: The strategic document Claude produces in this lesson — not the final ad copy, but the plan that governs audience targeting, creative direction, budget structure, and success metrics. (introduced in Module 4, Lesson 7)

Co-work (Claude): The Claude Desktop feature that gives Claude access to a folder on your local machine, so it can read your documents and write output directly into your notes. (first introduced in Module 2, Lesson 3 - Generating the Technical Document)

Discuss this lesson in the community