Si gestionas varios sitios web, lo último que quieres es descubrir que uno de ellos no lleva días rastreando visitantes. No puedes confiar en revisar manualmente cada propiedad de GA4; es ineficiente y propenso a errores humanos.
Todo el proceso se instala en menos de una hora y te ahorra tener que estar cuidando niños todo el tiempo.
This guide will walk you through a step-by-step setup using Google Sheets and the Sincronizar con add-on to automatically detect and flag any tracking issues (like zero traffic) across multiple GA4 properties.
Use Sincronizar con to pull your traffic data into a Google Sheet. It connects directly to GA4 and updates automatically.
How to set it up:
Obtendrás una tabla que se parece a esto:
Total de usuarios | Nombre para mostrar de la propiedad | Fecha |
---|---|---|
52 | Sitio web Propiedad 1 G4 | 2025-06-02 |
0 | Sitio web Propiedad 2 G4 | 2025-06-05 |
218 | Sitio web Propiedad 3 G4 | 2025-06-05 |
Cada fila representa un día de tráfico para una propiedad GA4.
Now that your sheet is automatically updated, we’ll write a script to scan for any property with zero users in the past 3 days. If any are found, it sends an email alert.
Status Email - All Good
Status Email - Oh no, but check some accounts.
Here’s the script:
function sendG4HealthCheckAlert() { const SPREADSHEET_URL = 'https://docs.google.com/spreadsheets/d/Make_Sure_You_Use_Your_Sheets_ID/edit#gid=0'; const SHEET_NAME = '3 Day Report'; const EMAIL_TO = '[email protected], [email protected]'; const EMAIL_FROM = '[email protected]'; const EMAIL_SUBJECT = '⚠️ G4 Health Check'; const ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL); const sheet = ss.getSheetByName(SHEET_NAME); const data = sheet.getRange(3, 1, sheet.getLastRow() - 2, 3).getValues(); const zeroAccounts = data .filter(row => row[0] === 0) .map(row => `• ${row[1]} - GA4 on ${row[2]}`); let messageBody; if (zeroAccounts.length > 0) { messageBody = ` ⚠️ G4 Health Check One or more accounts have not recorded visits in the last 3 days: ${zeroAccounts.join(' ')} Abrir el panel de control `; } else { messageBody = ` ✅ G4 Health Check All accounts are reporting data in the last 3 days. Abrir el panel de control `; } GmailApp.sendEmail(EMAIL_TO, EMAIL_SUBJECT, '', { htmlBody: messageBody, name: 'Bright Vessel Reports', from: EMAIL_FROM }); }
You can add or remove emails in EMAIL_TO
. The script pulls data from the sheet, filters for rows where the user count is zero, and sends a clean alert listing the offending properties.
Para realizar esta comprobación diariamente:
sendG4HealthCheckAlert
correr todos los días a la hora que elijasSin comprobaciones manuales. Sin problemas de datos olvidados. Si una propiedad deja de rastrear, tu equipo recibe una notificación.
If you try to open Apps Script and get hit with a 400 Bad Request error, it’s because Google doesn't play nice when you're logged into multiple accounts at once.
Fix:
Este es un problema de sesión de Google, no de su código o configuración.
Esta configuración es ágil y rápida. No utiliza paneles de control de terceros ni herramientas costosas. En su lugar, utiliza datos extraídos mediante SyncWith y un script sencillo para garantizar que todo funcione correctamente.
Check out similar posts:
If you're working with multiple GA4 properties, you might also want to streamline your paid search data. Learn how to Exportar términos de búsqueda de alto rendimiento con un script de Google Ads or Monitorear el estado de los objetivos en todo el MCC en Hojas de cálculo de Google.
Si un sitio deja de funcionar, lo sabrás en 24 horas, no tres semanas después, cuando un cliente comience a gritar.
At Bright Vessel, we specialize in building innovative, scalable analytics systems for multi-location businesses, schools, and agencies. From Google Analytics 4 health monitoring to SEO performance alerts, we help our clients stay ahead of tracking failures and performance drops. Whether you're managing a handful of properties or hundreds, our team ensures your data flows seamlessly and your decision-making stays informed.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields