πŸ“Š Extract Facebook ad hooks, CTAs and transcripts to Google Sheets with Apify

⚑ 2 views Β· πŸ“Š Market Research & Insights

πŸ’‘ 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

Quick Overview

This workflow runs on demand to scrape a competitor’s active Facebook video ads via Apify, transcribe each ad, extract the first-3-seconds hook and CTA, and append a one-row-per-ad teardown table to Google Sheets.

How it works

  1. Starts when you manually test the workflow.
  2. Reads the competitor Facebook Ad Library search URL (or Facebook Page URL) and the maximum number of ads to process.
  3. Launches an Apify Facebook Ads Library scraper run for the competitor and polls Apify until the run finishes.
  4. Sends the scraper run’s dataset ID to an Apify Facebook Ads Transcript Scraper to return transcript, hook, CTA, and ad metadata.
  5. Calculates transcript word/character counts, sorts ads (prioritizing transcribed and longer videos), and formats a clean row per ad.
  6. Appends the resulting rows to the selected Google Sheets spreadsheet and sheet.

Setup

  1. Create an Apify API token and add an HTTP Header Auth credential using Authorization: Bearer <YOUR_APIFY_TOKEN>, then select it on all Apify HTTP requests.
  2. Connect your Google Sheets account and select the target spreadsheet and sheet for the append step.
  3. Update the competitor URL and maxAds values in the configuration step before running the workflow.

πŸ”— Nodes Used

Google Sheets, HTTP Request

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup