Transcribe Google Ads video creatives with Apify and Google Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (14)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Manual Trigger
n8n-nodes-base.manualTrigger - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Remove Duplicates
n8n-nodes-base.removeDuplicates - No Operation, do nothing
n8n-nodes-base.noOp - Information Extractor
@n8n/n8n-nodes-langchain.informationExtractor - Groq Chat Model
@n8n/n8n-nodes-langchain.lmChatGroq - Google Sheets
n8n-nodes-base.googleSheets - Aggregate
n8n-nodes-base.aggregate - Gmail
n8n-nodes-base.gmail
What it does
Quick overview Every Monday this workflow transcribes the new YouTube video ads each brand is running in Google's Ads Transparency Center, has an AI break the script down, appends them to a Google Sheet and emails you the week's breakdown. How it works 1. A Schedule Trigger fires weekly. One Config node holds the domains, region, ads per domain and the recipient. 2. It loops over the domains: each Transparency Center page is scraped on Apify, then that run's dataset goes straight to the Google Ads Video Transcript Scraper. 3. Remove Duplicates drops every creative seen in an earlier execution, so a weekly run only reports new ads. Nothing new means no email is sent. 4. An Information Extractor breaks each new ad down: hook type, promise, proof, CTA and script structure. 5. Google Sheets appends a row per ad; Gmail sends a digest counting transcribed and silent ads separately. Setup 1. Create an HTTP Header Auth credential (name Authorization, value Bearer YOURAPIFYTOKEN) and select it on the three HTTP Request nodes. 2. Add a Groq credential on the chat model node - a drop-in swap for OpenAI or Anthropic. 3. Connect Google Sheets and Gmail, then set your domains, region and recipient in Config. Requirements - An Apify account, a chat model account and a Google account. - Transcription is charged only when a transcript is delivered; music-only ads are uncharged and still reach the sheet with their status. Customization - Point it at advertiser names instead of domains, or change the region. - Send the digest to Slack instead of Gmail. Additional info YouTube and Google Ads performance marketers who would rather read competitor scripts than watch them.