

Este tutorial documenta un script que audita la actividad de los objetivos de conversión en todas las cuentas de tu MCC. Guarda los resultados en una Hoja de Cálculo de Google, etiqueta el estado de cada objetivo, codifica el estado con colores y envía un resumen por correo electrónico solo cuando se detecta un problema.
No hay herramientas innecesarias ni paneles de terceros, solo control puro y visibilidad completa.

Este script audita todas las cuentas de Google Ads de tu MCC y evalúa el estado de cada objetivo de conversión durante un periodo retrospectivo definido. En lugar de adivinar qué objetivos están activos o inactivos, este sistema te ofrece una visión general en tiempo real en una Hoja de Cálculo de Google y solo te avisa cuando algo requiere tu atención.
Habrá dos notificaciones por correo electrónico: una para las cuentas que necesitan atención y la otra para todas las cuentas en buen estado.
Ejemplo:
Mensajes:
Lo entiendo, tu guión necesita dos salidas de correo electrónico distintas :
✅ Correo electrónico “Todo bien” (si No hay problemas se encuentran)
⚠️ Correo electrónico “Requiere atención” (si cualquier Los objetivos están inactivos, faltan o tienen un bajo rendimiento)
Así es exactamente como deberían verse ambas versiones, usando los datos de muestra y la lógica actual:
Mensaje #1
Todos los objetivos de conversión monitoreados informan la actividad de los últimos 60 días.
No se encontraron problemas en ninguna cuenta.
Ver el informe completo:
https://docs.google.com/spreadsheets/d/yoursheetid
Mensaje #2
Es posible que sea necesario revisar los siguientes objetivos de conversión (por ejemplo, no hay conversiones recientes o están inactivos):
Bright Widgets Inc (123-456-789) - Envío de formulario de contacto (Requiere atención)
Acme Corp (987-654-321) - Programar llamada (Inactivo)
Acme Corp (987-654-321) - Prueba gratuita (Requiere atención)
Rocket Leads (456-789-123) - (configurado, sin actividad) (Sin conversiones recientes)
Grupo de Prueba Beta (321-654-987) - (no configurado) (Inactivo)
Zebra Analytics (999-111-222): Descarga del informe técnico (Requiere atención)
Ver el informe completo:
https://docs.google.com/spreadsheets/d/yoursheetid
Antes de implementar el script, asegúrese de que su entorno esté configurado correctamente. Este script está diseñado para ejecutarse en un contexto de MCC de Google Ads para escribir datos y enviar alertas.
Este es el script completo y sin editar. Todos los comentarios, el formato y la lógica son exactamente como se escribieron originalmente. No lo modifiques si planeas seguir el desglose más adelante en este tutorial.
// ========== CONFIGURACIÓN ========== const ID_HOJA = '1PvpW3eUl5fqRwabBg0P7D8LKzW83MOTVX1KDBMB3ipA'; const DÍAS_RETROVISORES = 60; const ID_CUENTAS_EXCLUIDAS = [ '000-000-000', '000-000-000', '000-000-000' ]; const CORREOS_DESTINATARIOS = ' [correo electrónico protegido] '; // ==================================== función main() { const sheet = SpreadsheetApp.openById(SHEET_ID).getSheets()[0]; sheet.clear(); sheet.appendRow(['Nombre de la cuenta', 'ID de la cuenta', 'Nombre del objetivo', 'Conversiones', 'Estado', 'Rango de fechas']); const startDate = getDateXDaysAgo(LOOKBACK_DAYS); const endDate = getTodayDate(); const dateRangeLabel = `Últimos ${LOOKBACK_DAYS} días (${startDate} a ${endDate})`; const accounts = MccApp.accounts().get(); const flagged = []; let rowIndex = 2; while (cuentas.hasNext()) { const cuenta = cuentas.next(); const IdDeCuenta = cuenta.getIdDeCliente(); const NombreDeCuenta = cuenta.getNombreDeCuenta(); Logger.log(`⏳ Cuenta corriente: ${nombreDeCuenta} (${IdDeCuenta})`); if (ID_DE_CUENTA_EXCLUDIDA.includes(IdDeCuenta)) { Logger.log(`🚫 Omitiendo cuenta excluida: ${nombreDeCuenta} (${IdDeCuenta})`); continue; } try { MccApp.select(cuenta); const consulta = ` SELECT NombreDeTipoDeConversión, Conversiones DE INFORME_DE_RENDIMIENTO_DE_CAMPAÑA DURANTE ${fecha_inicio},${fecha_fin} `; const report = AdsApp.report(query); const rows = report.rows(); const goalMap = {}; while (rows.hasNext()) { const row = rows.next(); const goalName = row['ConversionTypeName'] || '(no establecido)'; const conversions = parseFloat(row['Conversions']) || 0; if (!goalMap[goalName]) { goalMap[goalName] = 0; } goalMap[goalName] += conversions; } if (Object.keys(goalMap).length === 0) { Logger.log(`⚠️ No se devolvieron datos de conversión para la cuenta: ${accountName} (${accountId})`); const status = 'Sin conversiones recientes'; sheet.appendRow([ accountName, accountId, '(configurado, sin actividad)', 0, status, dateRangeLabel ]); setStatusColumnColor(sheet, rowIndex, status); flagged.push(`${accountName} (${accountId}) - no se activaron objetivos de conversión`); rowIndex++; continue; } for (const [goalName, totalConversions] of Object.entries(goalMap)) { let status; if (totalConversions > 0) { status = 'Activo'; } else if (goalName.toLowerCase().includes('test') || goalName === '(no establecido)') { estado = 'Inactivo'; } else { estado = 'Requiere atención'; } sheet.appendRow([ accountName, accountId, goalName, totalConversions, estado, dateRangeLabel ]); setStatusColumnColor(sheet, rowIndex, status); if (status !== 'Activo') { flagged.push(`${accountName} (${accountId}) - ${goalName} (${status})`); } rowIndex++; } } catch (e) { Logger.log(`❌ Error al procesar la cuenta: ${accountName} (${accountId}) - ${e.message}`); } } if (flagged.length > 0) { const subject = '⚠️ Objetivos de conversión que requieren atención'; const Body = `Los siguientes objetivos de conversión podrían necesitar revisión (p. ej., sin conversiones recientes o inactivos):\n\n` + flagged.join('\n') + `\n\nVer el informe completo:\nhttps://docs.google.com/spreadsheets/d/${SHEET_ID}`; MailApp.sendEmail(RECIPIENT_EMAILS, subject, body); } else { Logger.log('✅ Todos los objetivos reportan conversiones.'); } } // 🎨 Aplicar color solo a la columna "Estado" (Columna E) function setStatusColumnColor(sheet, row, status) { const range = sheet.getRange(row, 5); // Columna E switch(status) { case 'Activo': range.setBackground('#d9ead3'); // Verde claro break; case 'Inactivo': range.setBackground('#f4cccc'); // Rojo claro break; case 'Requiere atención': range.setBackground('#fff2cc'); // Amarillo claro break; case 'Sin conversiones recientes': range.setBackground('#e6e6fa'); // Morado claro break; Default: range.setBackground(null); } } // 🕒 Ayudantes función getTodayDate() { const date = new Date(); devuelve Utilities.formatDate(fecha, AdsApp.currentAccount().getTimeZone(), 'aaaaMMdd'); } función getDateXDaysAgo(días) { const date = new Date(); date.setDate(fecha.getDate() - días); devuelve Utilities.formatDate(fecha, AdsApp.currentAccount().getTimeZone(), 'aaaaMMdd'); }
Esta guía muestra cómo configurar el verificador de estado de los objetivos de conversión para tu cuenta de MCC de Google Ads. Sigue cada paso para poner en marcha el sistema, escribir en Hojas de Cálculo de Google y enviar alertas cuando algo falle.
Comience configurando el destino de salida.
Implementarás este script dentro de tu cuenta MCC.
La primera vez que utilice el script, deberá autorizarlo.
Debe completar este paso o el script no podrá ejecutarse.
Dentro del script, revise y modifique lo siguiente:
Puedes dejar el resto del guión exactamente como está.
Ejecútelo una vez manualmente para asegurarse de que todo funcione.
Para que esto sea automático, configúrelo para que se ejecute según una programación recurrente.
El script se ejecutará automáticamente y sólo te avisará cuando algo ande mal.
Al ejecutarse el script, se comprueban todos los objetivos de conversión. Si alguno está inactivo o no se activa, recibirás un correo electrónico.
Este script no es solo un volcado de datos. Es un sistema de vigilancia para cada objetivo de conversión en todo tu MCC de Google Ads. Recibes alertas cuando algo falla, se detiene o deja de rastrearse silenciosamente. Cuando todo está bien, recibes silencio.
Revisa cada cuenta que administras, marca los objetivos inactivos o de bajo rendimiento y te envía un informe filtrado y preciso directamente a tu bandeja de entrada. Google Sheet te ofrece una vista en tiempo real del estado de los objetivos por cuenta, nombre del objetivo y volumen de conversión, con indicaciones visuales integradas.
No estás buscando en las interfaces. No estás esperando a fin de mes para darte cuenta de que has estado a ciegas. Tienes el control antes de que se convierta en un problema.
Consulta publicaciones similares:
Consulta publicaciones similares:
Si Si administra varias cuentas, no se pierda nuestra guía sobre Seguimiento de problemas con GA4 en numerosas propiedades o exportador Términos de búsqueda reales de alto rendimiento con un script liviano para refinar su segmentación.
¿Cansado de dudar sobre el funcionamiento de tu sistema de seguimiento? ¿Quieres un equipo que cree sistemas en lugar de solo informes?
Bright Vessel no solo gestiona Google Ads; diseñamos la visibilidad del rendimiento a escala. Ya sea que necesite ayuda para implementar este script, integrarlo en una plataforma de automatización más amplia o crear una capa de análisis personalizada que le proporcione información, estamos listos.
Hable con el equipo que construye lo que otras agencias falsifican.

"*" indica campos obligatorios

"*" indica campos obligatorios

"*" indica campos obligatorios