Extracción de creativos de Google Ads por dominio
Este es unAI, Marketingflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como Set, Switch, Function, HttpRequest, ManualTrigger, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Extraer creativos de Google Ads por dominio usando SerpAPI y exportar como CSV
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (16)
Categoría
{
"meta": {
"instanceId": "04fd795d32aabb18b913b4a3350b5cd0e9313a422ea0e7bdac0da2fb76cac9f7"
},
"nodes": [
{
"id": "65aafe70-bcfb-4c28-96dd-17d9dd2f4203",
"name": "Obtener página de anuncios 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-380,
580
],
"parameters": {
"url": "https://serpapi.com/search.json",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth",
"queryParametersUi": {
"parameter": [
{
"name": "engine",
"value": "google_ads_transparency_center"
},
{
"name": "text",
"value": "={{$json[\"domain\"]}}"
},
{
"name": "region",
"value": "={{$json[\"region\"]}}"
},
{
"name": "api_key",
"value": "your_serpapi_key"
}
]
}
},
"typeVersion": 2
},
{
"id": "6158066c-e944-42cf-9a40-5c2c309a8567",
"name": "Al hacer clic en 'Probar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1260,
580
],
"parameters": {},
"typeVersion": 1
},
{
"id": "15dea6e9-0a6a-4ba1-ae36-7234f5f3ff13",
"name": "Establecer dominio y región",
"type": "n8n-nodes-base.set",
"position": [
-820,
580
],
"parameters": {
"values": {
"string": [
{
"name": "domain",
"value": "example.com"
},
{
"name": "region",
"value": "example_region_code"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "8b768e62-6697-491e-89d6-6fa40aa36619",
"name": "Extraer creatividades de anuncios",
"type": "n8n-nodes-base.function",
"position": [
60,
580
],
"parameters": {
"functionCode": "const targetDomain = items[0].json.search_parameters.text.toLowerCase();\n\nreturn items[0].json.ad_creatives\n .filter(ad => (ad.target_domain || '').toLowerCase() === targetDomain)\n .map(ad => ({ json: ad }));\n"
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "50bcee68-570e-4b2f-bc14-3e5148f63ed6",
"name": "Dividir por Formato1",
"type": "n8n-nodes-base.switch",
"rules": {
"rules": [
{
"value1": "text",
"operation": "equal"
},
{
"value1": "image",
"operation": "equal"
},
{
"value1": "video",
"operation": "equal"
}
]
},
"position": [
500,
560
],
"parameters": {
"rules": {
"rules": [
{
"value2": "text"
},
{
"output": 1,
"value2": "image"
},
{
"output": 2,
"value2": "video"
}
]
},
"value1": "={{$json[\"format\"]}}",
"dataType": "string"
},
"typeVersion": 1
},
{
"id": "5a385bb4-a7eb-4327-8719-311ba61fe82a",
"name": "Convertir anuncios de texto a CSV",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
900,
220
],
"parameters": {
"options": {
"fileName": "=/files/text_{{ $json.target_domain }}_ads.csv"
},
"operation": "toFile"
},
"typeVersion": 1
},
{
"id": "2860d7c8-8c45-4d13-964d-40d6565e7a18",
"name": "Convertir anuncios de imagen a CSV",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
900,
680
],
"parameters": {
"options": {
"fileName": "=/files/image_{{ $json.target_domain }}_ads.csv"
},
"operation": "toFile",
"fileFormat": "csv"
},
"typeVersion": 1
},
{
"id": "2240db0a-0cb3-4449-a187-6daa52bca0fd",
"name": "Convertir anuncios de video a CSV1",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
900,
1120
],
"parameters": {
"options": {
"fileName": "=/files/video_{{ $json.target_domain }}_ads.csv"
},
"operation": "toFile",
"fileFormat": "csv"
},
"typeVersion": 1
},
{
"id": "bc86000d-ed7b-4690-a19e-3b9819024c8b",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1380,
120
],
"parameters": {
"color": 7,
"width": 360,
"height": 420,
"content": "# Node Annotations\n\n✅ When clicking 'Test workflow'\nTrigger the workflow manually during testing or development.\n\n📌 Note:\nUsed for debugging or one-time executions. No configuration needed."
},
"typeVersion": 1
},
{
"id": "431fdfd5-9550-4eca-8489-26fb126e828e",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-940,
120
],
"parameters": {
"width": 360,
"height": 420,
"content": "# ✏️ Set Domain & Region\n\nDefine which domain and region you want to extract ads for.\n\n📌 Note:\n\nSet the domain (e.g., example.com)\n\nSet the region using the numeric SerpApi region code\n\n🔗 https://serpapi.com/google-ads-transparency-center-regions"
},
"typeVersion": 1
},
{
"id": "245857fd-4405-4f75-95d1-41d7374b770a",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-500,
120
],
"parameters": {
"width": 360,
"height": 420,
"content": "# 🌐 Get Ads Page 1\n\nCalls SerpApi to fetch Google Ads Transparency data based on the domain and region.\n\n📌 Note:\n\nUses the SerpApi google_ads_transparency_center engine\n\nRequires a SerpApi API Key\n\nMake sure the region code is supported\n\nYou can paginate using next_page_token in future improvements\n\n🔗 https://serpapi.com/google-ads-transparency-center-api"
},
"typeVersion": 1
},
{
"id": "59c2eab0-ce67-463b-aaea-bf5c69fcb15e",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
120
],
"parameters": {
"width": 360,
"height": 420,
"content": "# 🧠 Extract Ad Creatives\n\nFilters only the ad creatives where target_domain exactly matches your input.\n\n📌 Note:\n\nThis avoids pulling unrelated advertiser ads\n\nMakes sure only relevant ads for your domain are processed further"
},
"typeVersion": 1
},
{
"id": "e87811c5-2f2a-4bd4-828b-ec4333393839",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
380,
120
],
"parameters": {
"width": 360,
"height": 420,
"content": "# 🔀 Split by Format\n\nSorts the ads by their format into separate branches: text, image, or video.\n\n📌 Note:\n\nBased on format field of each ad\n\nEnsures clean CSV outputs for each type"
},
"typeVersion": 1
},
{
"id": "f18950f7-9c67-4ffb-8c89-b2b70287db05",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
120
],
"parameters": {
"color": 4,
"width": 500,
"height": 300,
"content": "# 📄 Convert Text Ads to CSV\n\nSaves text ads in a CSV file named: text_{domain}_ads.csv\n\n📌 Note:\n\nUse this for text-only creatives\n\nFile will be saved in your /files/ directory"
},
"typeVersion": 1
},
{
"id": "25d6d14b-e4c7-40e4-97be-b422871cc756",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
580
],
"parameters": {
"color": 4,
"width": 500,
"height": 300,
"content": "# 🖼️ Convert Image Ads to CSV\nSaves image-based ads to: image_{domain}_ads.csv\n\n📌 Note:\n\nContains ad dimensions and image URLs\n\n"
},
"typeVersion": 1
},
{
"id": "7d05ce27-42ee-4799-807a-eeb204b05553",
"name": "Nota adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
1040
],
"parameters": {
"color": 4,
"width": 500,
"height": 300,
"content": "# 🎞️ Convert Video Ads to CSV\nExports video ads into: video_{domain}_ads.csv\n\n📌 Note:\n\nContains video links (HTML preview links or embedded content)"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"65aafe70-bcfb-4c28-96dd-17d9dd2f4203": {
"main": [
[
{
"node": "8b768e62-6697-491e-89d6-6fa40aa36619",
"type": "main",
"index": 0
}
]
]
},
"50bcee68-570e-4b2f-bc14-3e5148f63ed6": {
"main": [
[
{
"node": "5a385bb4-a7eb-4327-8719-311ba61fe82a",
"type": "main",
"index": 0
}
],
[
{
"node": "2860d7c8-8c45-4d13-964d-40d6565e7a18",
"type": "main",
"index": 0
}
],
[
{
"node": "2240db0a-0cb3-4449-a187-6daa52bca0fd",
"type": "main",
"index": 0
}
]
]
},
"15dea6e9-0a6a-4ba1-ae36-7234f5f3ff13": {
"main": [
[
{
"node": "65aafe70-bcfb-4c28-96dd-17d9dd2f4203",
"type": "main",
"index": 0
}
]
]
},
"8b768e62-6697-491e-89d6-6fa40aa36619": {
"main": [
[
{
"node": "50bcee68-570e-4b2f-bc14-3e5148f63ed6",
"type": "main",
"index": 0
}
]
]
},
"6158066c-e944-42cf-9a40-5c2c309a8567": {
"main": [
[
{
"node": "15dea6e9-0a6a-4ba1-ae36-7234f5f3ff13",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Inteligencia Artificial, Marketing
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Nikan Noorafkan
@nikkannooraHey, I’m Nikan Noorafkan — a creator passionate about building smart, automated workflows that drive business outcomes. With a background in performance marketing, user acquisition, and retention strategies, I use n8n to connect data, automate repetitive tasks, and scale growth across the funnel.
Compartir este flujo de trabajo