Ad Studio

Launch a Facebook & Instagram Ad

Pick an event. We'll write the copy, suggest your targeting, set your budget, and generate a tracked link so every click shows up in your affiliate stats.

thumb_up Facebook photo_camera Instagram track_changes Click Tracking
1
Event
2
Platform
3
Copy
4
Audience
5
Budget
6
Launch

Which event are you promoting?

Pick an upcoming event. The wizard will pull the name, date, venue, and photo automatically.

lightbulb
Pro tip: Start your ads 7–10 days before the event so Facebook's algorithm has time to find your audience. Less than 4 days and the ad often never exits "learning phase."

Where should the ad run?

We recommend Both — Meta optimizes placement automatically and you'll spend less per click.

school
menu_book What "placements" actually are Facebook and Instagram each have ~6 different spots an ad can show: Feed (the main scroll), Stories (full-screen vertical, 24-hour), Reels (TikTok-style short video), Marketplace (FB only), Search results, and Right column (FB desktop). When you choose "Both" with Advantage+ placements, Meta auto-shows your ad wherever it's cheapest and most effective for your audience — usually saving 20–40% per click vs. forcing one placement. lightbulb Why Both wins: a single dollar pulls from a bigger inventory pool, so Meta's auction is less competitive.
thumb_up
Facebook Only
Feed, Stories, Reels
all_inclusive
Both (Recommended)
Best CPM, auto-placement
photo_camera
Instagram Only
Feed, Stories, Reels, Explore
bolt Campaign Objective
Traffic (Recommended)
Engagement
Conversions
Reach
info
Traffic = people click your RSVP link. This is the right choice unless you have the Meta Pixel installed on RSVPEvent.asp (which you don't, yet) — in that case "Conversions" would outperform.
school
menu_book Decoded: what each objective tells Meta to optimize for
  • Traffic — "Find me people most likely to click." Best for events where you just need people on the RSVP page. check_circle Use this.
  • Engagement — "Find me people who'll like, comment, share." Cheap but engagement ≠ ticket sales.
  • Conversions — "Find me people who'll buy / RSVP." Most powerful, but requires Meta Pixel + at least 50 weekly conversions to work well.
  • Reach — "Show this to as many different people as possible." Brand awareness only — bad for filling seats.
lightbulb Meta picks who sees your ad based on this objective. Wrong objective = wrong audience = wasted money.

Ad copy — three variations to A/B test

Meta learns which performs best in the first 2–3 days, then shifts spend automatically. Copy each variation into a separate ad inside the same ad set.

school
menu_book The 3 fields Meta will ask for, decoded
  • Primary Text (125 chars before "...See more") — The main paragraph above the image. This is where you sell. Open with a hook in the first sentence because Feed users only see ~125 chars before truncation.
  • Headline (40 chars) — The bold black text under the image, next to the CTA button. Keep it short and benefit-driven ("Network with 200 SD execs").
  • Description (30 chars, optional) — A small grey line under the headline. Often hidden on mobile. Use it for a date/location sweetener.
lightbulb Why 3 variations? Meta runs all of them simultaneously for ~48 hours, kills the weakest, and pumps budget into the winner. You spend the same total but earn 30–60% more clicks.
visibility Live preview
SE
San Diego Elites
Sponsored · public
sandiegoelites.com
Learn More

Audience targeting

We've pre-filled what works best for your member base. Edit anything before copying into Ads Manager.

school
menu_book How Meta builds your audience (the math) Meta starts with everyone in your Location, narrows by Age + Gender + Language, then keeps only people who match at least one of your Interests. Behaviors then narrow it further. The "Audience Size" gauge in Ads Manager updates live as you toggle these — your goal is the green zone (80K–400K). Too small = Meta runs out of fresh people in 2 days. Too big = you pay to show ads to disinterested scrollers.
location_on Location
help
menu_book The 4 location modes Meta will offer (pick #1)
  • People living in this location check_circle Use this — actual SD residents.
  • People living in or recently in — adds visitors. OK for tourist events, bad for memberships.
  • People recently in — only travelers. Useless for local events.
  • People traveling in — only out-of-towners. Useless for local events.
group Demographics
to
groups_3 Pick an audience persona

Facebook makes you search through thousands of interests. We did the homework. Click a persona to auto-fill interests + behaviors proven to work for entrepreneur & networking events.

rocket_launch
Entrepreneurs & Founders
Business owners, startup founders, solo operators. Read Forbes, follow Gary V & Tony Robbins.
groups ~180K in SD metro
badge
Professional Networkers
Mid-career execs, sales/BD folks, LinkedIn power users looking to expand their circle.
groups ~220K in SD metro
celebration
Socialites & Scene
People who love going out — happy hours, wine tastings, rooftop events, galas. "I just want to meet people."
groups ~310K in SD metro
auto_awesome
Entrepreneurs Who Socialize Recommended
The sweet-spot blend — business-minded people who also enjoy upscale nightlife & dining. Best for SDE-style events.
groups ~140K in SD metro · highest conversion
trending_up
Investors & High-Net-Worth
Real estate investors, angel investors, luxury buyers. Older skew (35–65), higher-ticket event fit.
groups ~95K in SD metro · premium CPM
tune
Custom (start blank)
Clear everything and build your own interest list from scratch.
edit Manual mode
interests Detailed targeting — Interests
help
menu_book What an "Interest" actually is to Meta Not what users say they like — it's what Meta infers from Pages they follow, posts they engage with, and ads they click. "Entrepreneurship" doesn't mean people typed that word; it means Meta has classified them as fitting that pattern. Use OR not AND: each interest you add expands reach (anyone in any one of them). To narrow, click "Narrow audience" between blocks instead. lightbulb Pro move: avoid generic "Business" — try specific Pages your members actually follow ("Forbes", "Inc Magazine", "Tony Robbins").
Active interests (click chip = copy to clipboard · click × = remove)
swipe
How to use: In your Facebook tab, click the "Add demographics, interests or behaviors" search field. Come back here, click an interest chip (it copies), tab to Facebook, paste, pick the match from Meta's autocomplete dropdown. Repeat for each. Browsers don't let one site type into another for security reasons — this is the fastest manual path.
Curated bank (click to add — proven for SD networking events)
Business & Startup
Social & Lifestyle
Influencers & Media
Money & Luxury
psychology
Sweet spot: When Audience Size in Ads Manager shows 80K–400K, you've got a well-targeted audience. Too narrow (<50K) and you'll pay too much. Too broad (>1M) and you'll burn budget on wrong people.
psychology_alt Behaviors
help
menu_book Behaviors vs. Interests — what's the difference? Interests are what people follow (passive). Behaviors are what people do (active — purchases, device usage, travel, life events). Behaviors are more expensive but higher intent. "Business decision makers" means Meta has signals they buy software/services for a company — gold for B2B events.
Business decision makers
Engaged shoppers
Frequent travelers
Anniversary within 30 days

Budget & schedule

Calculated from your ticket price and venue capacity. Adjust if you want to spend more or less aggressively.

school
menu_book The 3 confusing things Meta will show you about budget
  • Advantage Campaign Budget (CBO) — Set ONE budget at the campaign level; Meta auto-shifts $$ between ad sets daily. Always turn this ON.
  • Max daily spend ~1.75× your daily — Meta will sometimes spend up to 75% MORE than your daily on great-performing days, and proportionally less on slow days. The 7-day total still respects your budget. This is normal — don't lower your budget because of this warning.
  • Learning Phase — First 24–72 hours, Meta tests different audiences. Cost-per-click will be HIGH and erratic. Don't panic-pause. Pausing restarts learning. Wait for ~50 link clicks before judging.
$15
Daily budget
7
Days running
$105
Total spend
payments Daily budget
$10
$15
$25
$50
$75
$100
$150
$200
calendar_month Run duration
insights
Projection: $105 spend should drive roughly 60–140 clicks and 3,000–7,000 impressions in San Diego. Typical event RSVP conversion = 5–12% of clicks.
warning
Heads-up on the "learning phase": Meta typically needs 24–48 hours of stable spend before it optimizes. If your event is <3 days away, skip the slow-ramp playbook and push budget hard from day 1 — you don't have time to wait for the algorithm.

Your ad is ready to paste into Meta Ads Manager

Click the big button — it opens Meta Ads Manager in a new tab, already on the Create Campaign screen. Then click each checklist step below; we copy the right text to your clipboard so you can just paste (keyboard_command_keyV) in Ads Manager.

radar Before you launch — Pixel & CAPI pre-flight
track_changes
Why this matters: Without a pixel installed, Meta flies blind — it can't tell which ad drove the RSVP, which interests converted, or who to build a Lookalike audience from next time. First ad = flying blind. Second ad onward = data-driven. Skipping pixel setup costs you 30–50% optimization power for every campaign after this one.
looks_one Create / find your Meta Pixel ID click to expand ▾
  1. Go to business.facebook.com/events_manager
  2. Left sidebar → Datasets (Meta recently renamed "Pixels" to "Datasets" — same thing)
  3. If you already have one for sandiegoelites.com, click it. Otherwise click Connect data sources → Web → Meta Pixel → Connect, name it San Diego Elites, paste https://sandiegoelites.com
  4. When it asks "How do you want to install the code?" → Install code manually. Don't pick WordPress or a partner integration — you're on classic ASP.
  5. You don't need the code block Meta shows. We already built it into the site. Just close/skip that screen.
  6. Your ID is the 15–16 digit number directly below the pixel name at the top of the dashboard. Looks like 914984897954594.
info
"Dataset ID" = "Pixel ID" = same number. Meta renamed it in late 2024. Use whichever label they show you.
edit
Rename the pixel if it was auto-named after your personal account (e.g. "Dennis Langlais - Pixel"). Click the pencil icon next to the pixel name → rename to "San Diego Elites". The ID stays the same — nothing breaks.
looks_two Generate your Conversions API (CAPI) token click to expand ▾

Why bother: Since iOS 14.5, ~30% of iPhone users block the browser pixel. CAPI sends events from your server — no blocker can stop it. Meta's own data: pixel + CAPI recovers ~30% more attributed conversions than pixel alone. That's $8 CPR vs $12 CPR.

priority_high
⚠ Conversions API ≠ Conversions API GATEWAY. They have nearly-identical names but are totally different products. Gateway is a paid cloud middleware tool — skip it. You want plain Conversions API (just a token). If Meta shoves you into a "Choose a cloud provider" or "Birch Recommended" screen → hit Cancel and back out.
  1. In Events Manager, click your pixel → Settings tab (top right)
  2. Scroll to Conversions API section (NOT "Conversions API Gateway")
  3. Under "Set up direct integration" → pick "Set up manually" or the plain non-Gateway option
  4. The "Generate access token" button will un-gray → click it
  5. A long string starting with EAA... (≈200 characters) appears
warning
COPY IT NOW. Meta only shows the full token once. Close the popup without copying and you have to regenerate. Paste it straight into the CAPI Token field in EditEvent.asp before doing anything else.
shield_lock
Treat the token like a password. Never paste it in Slack, email, screenshots, or public docs. Anyone with it can send events to your pixel. If it leaks, come back to Settings → Revoke access token → generate new → paste new into EditEvent → Save. Rotation takes 60 seconds.
error "Generate access token" is GRAYED OUT? (Missing prerequisite error) click to expand ▾

Meta's tooltip says: "You must be an admin or developer for this business portfolio to create an access token." This error has four different root causes that look identical. Diagnose in this order:

filter_1 Check what assets your Business Portfolio owns

  1. Go to business.facebook.com/settings → pick your portfolio from top-left dropdown
  2. Sidebar → Users → People → click yourself
  3. Look at "Assigned assets" column. Does it list BOTH an Ad Account AND a Pixel?
  4. If only "1 Page, 1 Instagram" → your portfolio has NO pixel in it. Pixel lives on your personal account. Fix: Sidebar → Data Sources → Datasets & pixelsAdd → Claim existing → paste your pixel ID. If Meta refuses, create a brand-new pixel inside the portfolio and use that ID instead.

filter_2 Check your role (Admin vs Employee)

  1. Same People page → your entry should say "Full access: Everything" under Business Portfolio access column
  2. If it says "Partial access" or "Employee access" → click Details → toggle Admin access ON → Save

filter_3 Check Events Manager scope (top-right dropdown)

In Events Manager, top-right corner has a dropdown showing a business/ad account ID. If it's set to the Ad Account scope, you'll see only pixels connected to that ad account — other portfolio pixels will look missing. Switch it to Business Portfolio scope and your pixels reappear.

filter_4 Multiple Facebook accounts with the same name?

If the People list shows TWO "Your Name" entries (e.g. you have a work account and a personal account both named the same), the pixel may have been created while signed into the OTHER account. Meta treats them as different users even though the name matches. Fix (any one):

  • Sign out → sign back in as the OTHER email → generate token there
  • On the pixel → Assign partners/people → add yourself (the current signed-in email) with Full control
  • Claim the pixel from your current account: Data Sources → Pixels → Add → Claim existing → paste ID

filter_5 Pixel lives in a different portfolio than the ad account

Meta shows the pixel in Events Manager scoped to an ad account, but Business Settings shows a different ad account in the portfolio. Result: you admin one, but the pixel belongs to the other. Fix: Business Settings → Accounts → Ad Accounts → Add → paste the ad account ID shown in Events Manager's top-right. Now portfolio owns both.

looks_3 Paste both into EditEvent.asp & verify firing click to expand ▾
  1. Open EditEvent.asp → pick your event
  2. Scroll to Tracking & Pixels section
  3. Paste Pixel ID into Meta Pixel ID field
  4. Paste the EAA... token into Meta CAPI Token field
  5. Save the event
  6. Install the Meta Pixel Helper Chrome extension
  7. Open the event's public page in a new tab → click the extension icon → you should see PageView and ViewContent fire immediately with your pixel ID
  8. Back in Events Manager → pixel → Test Events tab → you should see the same events in real time. Do a test RSVP — Lead or Purchase should fire too.
check_circle
Apply same pixel to all events — use the same Pixel ID + CAPI token for every event; they're brand-wide, not per-event. Saves pasting into 20 events one-by-one. (Ask for the bulk-update tool if you have many events already.)
schedule
Brand-new pixels need 24–48 hours of PageView data before Meta will let you use the "Conversions" objective. Until then, stick with the Traffic objective we recommend in Step 2.
bug_report Meta's UI is being weird — "Ouch" errors, phantom pixels, duplicate datasets click to expand ▾

Meta's Business tools are notoriously flaky. If a page throws "Ouch! Something went wrong..." or spins forever, don't assume it's your setup. Try these in order:

  • Hard refresh: keyboard_command_keyShift+R (Mac) / Ctrl+Shift+R (Windows). Fixes ~60% of Ouch errors.
  • Try the direct URL: https://business.facebook.com/events_manager2/list/dataset/<PIXEL_ID>/settings — bypasses broken navigation state.
  • Clear Facebook cookies: Chrome → Settings → Privacy → Cookies → See all → search "facebook" → delete. Sign back in.
  • Switch browsers: Firefox/Safari often works when Chrome has stale Meta state.
  • Wait 30 minutes. Meta pushes bad deploys regularly; problems disappear on their own.

layers Pixel NAME vs Pixel ID — they're different numbers

Meta auto-names new pixels using another pixel's ID sometimes (e.g. pixel named "7002362089818353 - Pixel" but the actual Dataset ID underneath is "1722038085854083"). The real ID to paste is the Dataset ID field on the Settings page, NOT the pixel's name. When in doubt: the one you use is the 16-digit number from the URL (/dataset/XXXXXX/settings) or from the "Dataset ID" line in Details.

content_copy Accidentally created duplicate pixels?

Easy to do when Meta keeps popping "Create a new dataset" modals. You can't delete pixels — Meta keeps them forever. But you can:

  • Pick ONE pixel to be your real one → put that ID in every event
  • On the old/unwanted pixels: Assign people → remove everyone → they become orphaned and invisible
  • Don't sweat the data split — events fired to the wrong pixel are lost, not harmful

cancel "Create a new dataset" modal keeps appearing?

When you click Events Manager → Overview without a dataset selected, Meta assumes you want to make one. Hit Cancel. Then click Datasets in the left sidebar → your existing pixel should appear there. If not, the scope selector (top-right) is probably set to an ad account that doesn't own this pixel — switch it to the Business Portfolio.

link "Connect ad accounts to dataset" modal

If Meta asks "Choose the ad accounts you want to connect to this dataset" — check the box and Next. This links the pixel to your ad account, which is a prerequisite for CAPI token generation. Without this connection, the Generate Token button stays grayed out even if you're a portfolio admin.

troubleshoot Other common pixel gotchas click to expand ▾
  • "3 Websites" showing on my new pixel? Check the right sidebar of the pixel Overview page. Usually it's your prod domain, a dev subdomain, and localhost. Not harmful. Remove unwanted ones in Settings → Traffic permissions → Allow list.
  • Diagnostics tab has a red badge? Click it. Common warnings: "duplicate event" (you accidentally have the pixel code twice), "pii in URL" (emails/phones in query strings — fix by stripping them in go.asp), "missing event parameters" — usually ignorable at launch but fix before scaling.
  • Events don't show up in Test Events? Check: (1) did you save EditEvent after pasting? (2) is your ad blocker paused? uBlock/Brave block fbevents.js by default. (3) view page source — search for "fbq('init'" — if missing, the include didn't fire (check etpEventId variable set before include).
  • Pixel saying "inactive" after 7 days? Meta auto-pauses pixels with no events. Usually means the pixel ID is typo'd in the DB. Re-paste and save.
  • Wrong pixel ID firing in the browser? Devtools → Network → filter "facebook" → refresh → look at tr?id=XXXXX. If XXXXX isn't the ID you pasted, two possibilities: (a) you saved to a different event than the one you're viewing — check the event= URL param matches; (b) another site-wide include has a hardcoded pixel — search the codebase for fbq('init' and remove any hardcoded ones outside event_tracking_pixels.asp.
  • "Pixel code is not installed correctly" spam in console? Often harmless — Meta logs this when PageView fires before the pixel fully registers with their edge. If you can see tr?id=...&ev=PageView requests go out in Network tab, you're fine. It goes away once events flow in.
  • Multiple pixels in the codebase outside event_tracking_pixels.asp — check index.html, SignupMember.asp, any landing pages. Old hardcoded pixels will conflict with per-event pixels. Standardize on one brand-wide pixel; remove duplicates.
school
menu_book Meta's 3-level structure (this trips up everyone)
  • Campaign — Holds your objective and (with CBO) your budget. Think: the goal.
  • Ad Set — Holds audience, placements, schedule. Think: who to show it to.
  • Ad — The actual creative (image, video, text). Think: what to show.
The checklist below walks through them in order. You can have multiple ads inside one ad set — that's how A/B testing of copy works.
open_in_new Open Meta Ads Manager
Tracked Destination URL
task_alt Step-by-step — follow this order
  1. 1
    Open Ads Manager and click Create
    Use the blue "Open Meta Ads Manager" button above, then click the green Create button (top-left).
  2. 2
    Choose objective: Traffic tap to copy
    Select this tile when Meta asks for a campaign objective.
  3. 3
    Campaign name tap to copy
  4. 4
    Campaign Budget (Advantage) tap to copy budget
    Toggle Advantage campaign budget ON. Daily budget $15 USD. Meta will show "Max daily spend ~$26" — that's normal (1.75× your daily). Leave A/B Test OFF. Aim for Campaign score 100.
  5. 4a
    Click Next → you're now on the Ad Set screen
    Breadcrumb at top will change from your campaign name to "New Traffic Ad Set". Everything below happens HERE.
  6. 4b
    Schedule (top of Ad Set page) — Start · End
    location_on Where to find it: Scroll to the very top of the Ad Set page → look for the section labeled "Budget & schedule". With Advantage Campaign Budget ON, you'll only see Schedule here (the budget moved up to Campaign level).

    warning The end date is hidden by default! You'll see "Start date" and "Start time" — but to add an end date you must toggle "Set an end date" ON. Otherwise the ad runs forever and burns your budget after the event.
  7. 5
    Location tap to copy
    location_on Where to find it: Scroll down to the "Audience controls" section → Locations field.

    1. Click the dropdown above the field and select "People living in this location" (NOT "Recently in" — that includes tourists).
    2. In the search field, paste: San Diego, California + 17mi
    3. After it appears, click the pin and use the radius slider to set 17 miles.
    4. check_circle Sanity check: Look at the right sidebar — "Estimated audience size" should drop from ~262M to a few million. If it's still 200M+, the location didn't apply.
  8. 6
    Age & Demographics tap to copy age
    location_on Where to find it: Same "Audience controls" section, just below Locations.

    Age: Drag both sliders to 28–60
    Gender: All genders
    Languages: Type "English" (US)
    Detailed targeting exclusions: Leave blank
    Custom audiences: Leave blank (these are for retargeting old visitors)
  9. 7
    Interests (Detailed Targeting) tap to copy all
    location_on Where to find it: Look for a section labeled "Advantage detailed targeting" or "Detailed targeting" (Meta keeps renaming this — also called "Audience suggestions"). It's right below Languages.

    1. Click "Edit" or the search field that says "Add demographics, interests or behaviors"
    2. Type each interest one at a time and click to add:
    3. warning Adding interests expands reach (OR logic). To narrow further, click "Narrow audience" between blocks.
    4. check_circle Sanity check: Audience definition gauge should now be in the green/yellow zone (80K–400K), NOT broad red.
  10. 8
    Placements
    location_on Where to find it: Scroll down past Detailed Targeting → section called "Placements".

    Leave the default "Advantage+ placements" selected — this is what the green "Campaign score 100" rewards. Advantage+ placements (recommended).

    Then click Next at the bottom-right to move to the Ad level.
  11. 9
    Ad level — the page where you're stuck right now
    warning The page has TWO columns — most people only look at the right one.
    • LEFT column (scrolls): This is where you TYPE and UPLOAD. If you can't see it, your window is too narrow — widen your browser or scroll left. On small screens it's behind a hamburger / chevron icon.
    • RIGHT column ("Ad preview"): Read-only. It just shows what your ad will look like. You can't click anything useful here.
    The left column has these sections, top to bottom — scroll through them in order:

    a) Identity — pick your Facebook Page (Codie Dog Interactive) and Instagram account (teamcodiedog). You already did this — good.

    b) Ad setup / Format — leave on "Single image or video". Don't pick Carousel or Collection.

    c) Ad creativethis is where your reel goes. You'll see a panel labeled "Media" with a dashed upload box and a button that says "Add media" (or "Select media" / "Edit" / "+" depending on your version). Click it → a popup opens → pick "Add video" (NOT "Add image") → either "Upload" from your computer, or switch to the "Account media" tab if your reel is already posted on your Page.

    d) Primary text / Headline / Description — three text boxes. Come back to this wizard and use steps 10, 10a, 10b below to copy each field one at a time.

    e) Destination — paste the tracked URL (step 11 below).

    f) Call to action — dropdown — set to Learn More (step 12).

    check_circle You'll know it worked when the gray placeholder tile in the right-side preview fills in with your reel (with a play button overlay).
  12. 9a
    Reel / video — sizes that actually work
    Meta will reject or mis-crop videos that don't match these specs:

    • Reels & Stories (vertical): 9:16 aspect ratio, 1080×1920, mp4 or mov, max 4GB, under 90 seconds (sweet spot is 15–30s).
    • Feed (square): 1:1 aspect ratio, 1080×1080, same formats.
    • Upload BOTH if you can — Meta will show the 9:16 on Reels/Stories automatically and the 1:1 on Feed. Use the "Edit placements" panel inside Ad creative to assign each file. If you only have 9:16, Meta letterboxes it on Feed (ugly black bars).
    • First 3 seconds matter. 60% of viewers bail after 3s. Open with motion or a face, not a title card.
    • Captions burned in. 80% of Meta videos are watched muted. Use Instagram's built-in auto-caption tool before exporting, or tools like CapCut/Descript.
    • Max text on image rule (for thumbnails only): Meta no longer hard-blocks, but reach drops if your video's cover frame is >20% text.
    warning If you see "Your video is still being processed" — wait 2–3 min and refresh. Don't re-upload or you'll create duplicates.
  13. 9b
    Can't find "Add media" button? (common UI bugs)
    If the left column is blank or collapsed:
    • Look for a chevron (‹) or hamburger icon near top-left — click it to expand the form.
    • Resize your browser window wider — Meta hides the left panel below ~1200px width.
    • Try zooming out (Cmd/Ctrl + minus) until you see two columns.
    If "Add media" is grayed out:
    • Scroll up to "Identity" — a Page/Instagram account must be selected first. Until you pick a Page, media upload is locked.
    • Your Facebook Page must have posted at least once. Brand-new pages get blocked from ads for ~24h.
    If the Publish button stays gray after you upload:
    • Scroll up and look for red error messages. Common: missing Primary Text, missing URL, or Meta's still processing video (wait and refresh).
    • The yellow ⚠️ triangle in the preview header means "preview incomplete" — click it to see which field is empty.
  14. 10
    Paste Primary Text (Variation A) tap to copy
    Create 3 ads in the same ad set — one per variation. Come back to copy variations B & C.
  15. 10a
    Paste Headline (Variation A) tap to copy
    40-char field.
  16. 10b
    Paste Description (Variation A) tap to copy
    30-char field (optional).
  17. 11
    Website URL (tracked) tap to copy
    Don't use the raw event link — you'd lose click tracking.
  18. 12
    Call to Action tap to copy
    Choose Learn More from the dropdown.
  19. 13
    Review & Publish
    Click Publish. Meta reviews in ~1–24 hours. If rejected, it's usually text-on-image rules — edit and resubmit.
  20. 14
    Come back to track results
    Every click logs to Share Stats under source facebook-ad / instagram-ad.
tips_and_updates
Common rejections to avoid: (1) Text on image covers more than 20% of the image. (2) Using before/after imagery. (3) Claiming unrealistic ROI. (4) Personal attributes — don't say "are you struggling?" — say "connect with business owners" instead.
Copied