📱 Automatically create Facebook ads from Google Sheets

⚡ 3,466 views · 📱 Social Media & Email Marketing

💡 Pro Tip — If you’ve run into Facebook’s Graph API permission restrictions, ScraperNode is a community node that scrapes pages, groups, posts, and comments directly — no app review needed.

View All Scrapers

Description

Who is this for?

This template is designed for Marketing Managers, Performance Marketers, and Ad Ops professionals who want to automate Facebook ad creation using structured data in Google Sheets. It’s ideal for teams running multiple creatives or testing ad variations without having to manually use Meta Ads Manager.

> ⚠️ Important Note:
This is not a plug-and-play workflow. It requires:

Additionally, launching Facebook ads will incur real advertising costs, so this template is best suited for users willing to make a time investment to set things up properly and test responsibly. Expect to spend time customizing targeting and budget strategies based on your campaign needs.

What problem does this solve?

Manually uploading creatives, setting up ad sets, and creating ads in Meta’s Ad Manager is time-consuming, repetitive, and error-prone—especially at scale. This workflow eliminates the manual work by pulling data from Google Sheets and using it to automatically:

What this workflow does

Using a trigger from a Google Sheets row update, this workflow:

  1. Reads ad parameters (like message, render URL, and campaign info) from a Google Sheet
  2. Generates ad set configuration dynamically using variables in an “Edit Fields” node
  3. Creates a Facebook Ad Set via the Graph API
  4. Fetches the ad image from a render URL
  5. Uploads the image to Facebook Ads Library
  6. Creates the Ad Creative using the uploaded image and dynamic text
  7. Launches the Ad using the generated Ad Set and Creative
  8. Updates the same Google Sheet with the generated Ad ID and status

All configuration fields like campaign_id, act_id, pixel_id, age ranges, interest targeting, and call-to-action links are defined up front in a single Edit Fields node, making the template easy to maintain or extend.

Google Sheet Structure

HooksRender URLGenerate AdAd ID
Static ad text (e.g., “Visit us at…”)Link to the creative asset (image)Status: generate, generated, or errorPopulated by the workflow with the created Facebook Ad ID

Setup

  1. Copy this Google Sheet template and populate it with your data
  2. Create a Facebook App and retrieve the access credentials for the Facebook Graph API
  3. In n8n:
    • Connect your Google Sheets and Facebook Graph API accounts
    • Update the Edit Fields node with your actual ad account ID, page ID, campaign ID, pixel ID, and destination link
    • Deploy the workflow

This workflow runs every time the generate ad column in your sheet is updated.

How to customize this workflow to your needs

đź”— Nodes Used

Google Sheets, HTTP Request, Facebook Graph API, Google Sheets Trigger

📥 Import

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

📖 Importing guide · 🔑 Credential setup