Si vous gérez plusieurs sites web, la dernière chose que vous souhaitez est de découvrir que l'un d'eux ne suit plus ses visiteurs depuis plusieurs jours. Vous ne pouvez pas vous contenter de vérifier manuellement chaque propriété GA4 ; c'est inefficace et sujet aux erreurs humaines.
L'installation prend moins d'une heure et vous évite des heures de baby-sitting interminables.
This guide will walk you through a step-by-step setup using Google Sheets and the Synchroniser avec add-on to automatically detect and flag any tracking issues (like zero traffic) across multiple GA4 properties.
Use Synchroniser avec to pull your traffic data into a Google Sheet. It connects directly to GA4 and updates automatically.
How to set it up:
Vous obtiendrez un tableau qui ressemble à ceci :
Nombre total d'utilisateurs | Nom d'affichage de la propriété | Date |
---|---|---|
52 | Site Web Propriété 1 G4 | 2025-06-02 |
0 | Site Web Propriété 2 G4 | 2025-06-05 |
218 | Site Web Propriété 3 G4 | 2025-06-05 |
Chaque ligne représente un jour de trafic pour une propriété 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(' ')} Ouvrir le tableau de bord `; } else { messageBody = ` ✅ G4 Health Check All accounts are reporting data in the last 3 days. Ouvrir le tableau de bord `; } 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.
Pour effectuer cette vérification quotidiennement :
sendG4HealthCheckAlert
courir tous les jours à l'heure de votre choixAucune vérification manuelle. Aucun problème de données oubliées. Si une propriété cesse d'être suivie, votre équipe est avertie.
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:
Il s’agit d’un problème de session Google, pas de votre code ou de votre configuration.
Cette configuration est simple et rapide. Elle n'utilise ni tableaux de bord tiers ni outils coûteux. Elle utilise plutôt les données extraites via SyncWith et un script simple pour garantir le bon fonctionnement de l'ensemble.
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 exporter les termes de recherche les plus performants avec un script Google Ads or surveillez l'état des objectifs sur l'ensemble de votre MCC dans Google Sheets.
Si un site est en panne, vous le saurez dans les 24 heures, et non trois semaines plus tard lorsqu’un client commence à crier.
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