See llms.txt for all machine-readable content.

Back to Templates

Tear down proven Meta ads with Bright Data, GPT-5.6 and Gmail

Created by

Created by: Daniel Shashko || tomax
Daniel Shashko

Last update

Last update 5 hours ago

Categories

Share


Quick overview

This workflow runs weekly, uses Bright Data to fetch Meta Ad Library results for your competitor search terms, extracts ad age and landing URLs, summarizes angles with OpenAI (GPT-5.6), and emails an HTML digest through Gmail while deduplicating previously reported ads via an n8n Data Table.

How it works

  1. Runs on a weekly schedule.
  2. Builds Meta Ad Library search URLs for each watch term and fetches the result pages via Bright Data Web Unlocker.
  3. Parses each results page into individual ads, extracting the library ID, advertiser, ad text, offer, creative URL, start date, days running, and unwrapped landing page URL (including UTM parameters).
  4. Sorts and caps ads per term, marks ads as “proven” once they exceed the configured days-running threshold, and deduplicates ads that appear under multiple terms.
  5. Checks an n8n Data Table to keep only ads that have never been reported before, then stores the new library IDs for future runs.
  6. Fetches a small set of top landing pages (one per domain) through Bright Data and extracts live offer/price cues to compare against the ad promise.
  7. Uses OpenAI to summarize the dominant offers and angles (including advertiser names and day counts) and sends a formatted HTML email digest via Gmail.

Setup

  1. Add a Bright Data Web Unlocker zone and configure HTTP Header Auth credentials (Authorization: Bearer <key>) for the Bright Data requests.
  2. Add an OpenAI credential (model set to gpt-5.6-terra) and a Gmail credential for sending the digest.
  3. Create an n8n Data Table named meta_ads_seen with a library_id column.
  4. Update the Settings values for watch_terms, country, proven_after_days, caps for ads/landing pages, and the recipient address in email_to.