📱 Create AI-generated meta ad campaigns from product URLs with OpenAI & Firecrawl

161 views · 📱 Social Media & Email Marketing

💡 Pro Tip — HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it — it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

AI-Powered Meta Ads Builder (Facebook & Instagram)

Turn any product page into ready-to-run Meta ads—fast, consistent, and client-friendly.


Description

This template takes a product URL and produces publish-ready Meta ads without the busywork. Your client fills a clean form; the workflow scrapes product data, writes a creative brief, generates ad-set variations, produces 1:1 images with OpenAI, and builds Campaign → Ad Set(s) → Ad(s) in PAUSED for review.

Perfect for: agencies, performance marketers, founders who need repeatable creative and less manual setup.

Highlights


What’s inside


How it works

Form → Firecrawl scrape → Product JSON (LLM) → Vision style cues → Creative brief
→ Campaign JSON (LLM) → Split into ad sets → For each ad set:
→ Generate image → Upload to Meta → Create Creative → Create Campaign → Create Ad Set → Create Ad (PAUSED)

What changed in this version


Requirements


Quick setup (5 steps)

  1. Import the JSON in n8n.

  2. Create Credentials for OpenAI, Facebook Graph API, Firecrawl.

  3. Open “Configuration Meta Ads” node and set:

    • ad_account_id, facebook_page_id, pixel_id, website_link
  4. Open the Form Trigger URL and submit a real product URL.

  5. In Ads Manager, review campaign/ad sets/ads (they’re PAUSED), then enable.


Inputs (Form)


Outputs


Sticky notes (mandatory)

> Credentials > > * Use OpenAI, Facebook Graph API, and Firecrawl credentials in n8n. > * ⚠️ No hardcoded keys anywhere (HTTP node or otherwise).

> Form Testing > > * Use a real product URL with at least one image. > * Start with 1–2 variations; scale after review. > * If scraping fails, verify Firecrawl key and the site’s policies.

> Meta Upload > > * Set ad_account_id, facebook_page_id, pixel_id, website_link. > * If uploads fail, check account permissions and app scopes.

> OpenAI Images > > * Default: 1:1, 1024×1024. > * You can change size in the Images node (keep FB/IG safe zones). > * Prompts should avoid policy-sensitive claims.

> Safety & Review > > * Everything is created PAUSED. > * Review copy, claims, and targeting for compliance. > * Enable after quality checks.


Security & compliance


Performance tips


FAQ

Does it publish automatically? No. Ads are created PAUSED for review.

Instagram-only campaigns? Yes. Set placements to IG (or keep auto and let Meta optimize).

Thin product pages? Extractor returns null for missing fields; the brief adapts without inventing data.

Bring my own audiences? Swap the generated audience block for your saved audiences or static lists.

Change image model/size? Yes—edit the OpenAI Images node (model/size). Keep 1:1 for FB/IG.

🔗 Nodes Used

Function, HTTP Request, AI Agent, Basic LLM Chain, OpenAI Chat Model, Structured Output Parser

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup