Ads Reporting collecte chaque jour les performances des comptes Google Ads que nous gérons, les conserve dans notre propre base, et y rattache le chiffre d'affaires réellement encaissé par nos clients. Usage strictement interne à l'agence.
| Campagne | Dépense | Real CPA |
|---|---|---|
| Campagne 1 — Search | 1 610 € | 146,36 € |
| Brand — Search | 284 € | 94,67 € |
| Formations — Search | 148 € | — |
Studio Geben est une agence : nous construisons des sites et des tunnels de vente, et nous pilotons la publicité payante de nos clients. Trois problèmes revenaient sur tous les comptes. Aucun ne se règle dans l'interface Google Ads.
Google optimise les enchères sur une valeur de conversion estimée, décidée à l'avance. Deux ventes du même formulaire n'ont pourtant pas le même montant, et une partie ne se transforme jamais en encaissement.
Comparer un mois à l'autre, à l'échelle du mot-clé, sur plusieurs comptes clients à la fois, suppose de ressaisir les mêmes exports à la main. C'est du temps perdu, et la donnée finit par diverger d'un fichier à l'autre.
Des requêtes hors sujet consomment du budget sans jamais convertir. Elles se noient dans les rapports de termes de recherche, compte par compte, et ne remontent que lorsqu'on va les chercher.
L'application est un site Next.js hébergé sur Vercel. Tous les appels à l'API Google Ads sont exécutés côté serveur ; les identifiants sont stockés en variables d'environnement chiffrées et ne sont jamais exposés au navigateur.
Un refresh token OAuth stocké côté serveur est échangé contre un access token. Chaque compte interrogé est rattaché à notre compte administrateur, avec l'autorisation de son propriétaire.
OAuth 2.0 · scope adwordsUne tâche planifiée s'exécute une fois par jour et par compte géré. Elle tire les performances au niveau compte, campagne, groupe d'annonces, mot-clé et terme de recherche.
GAQL · lecture seuleLes métriques sont écrites dans notre base PostgreSQL, indexées par compte, date et identifiant d'entité. Relancer une journée l'écrase au lieu de la dupliquer.
PostgreSQL · idempotentL'interface lit exclusivement cette base et n'appelle jamais l'API en direct. L'utilisateur choisit un compte et une période, puis consulte les performances à chaque niveau.
Next.js · VercelIl rapproche les paiements enregistrés par nos clients de l'identifiant de clic Google correspondant, puis les remonte en conversions hors ligne portant leur montant réel, via ConversionUploadService.UploadClickConversions. Les enchères automatiques optimisent alors sur du chiffre d'affaires constaté, plus sur une valeur estimée.
L'outil n'a pas de tableau de bord public : il est utilisé en interne par notre équipe. Le sélecteur de compte et le sélecteur de période se trouvent dans l'en-tête.
| Campagne | Dépense | Clics | Conv. | Real CPA |
|---|---|---|---|---|
| Campagne 1 — Search | 1 610 € | 498 | 11 | 146,36 € |
| Brand — Search | 284 € | 102 | 3 | 94,67 € |
| Formations — Search | 148 € | 37 | 0 | — |
Account performance — métriques lues dans notre base, alimentée quotidiennement depuis l'API. Le coût par acquisition réel est calculé à partir des encaissements remontés par le client, pas de la conversion déclarée.
| Terme de recherche | Campagne | Dépense | Clics | Conv. |
|---|---|---|---|---|
| convention de stage gratuite | Campagne 1 | 184 € | 61 | 0 |
| modèle convention word | Campagne 1 | 122 € | 39 | 0 |
| convention stage pole emploi | Campagne 1 | 97 € | 28 | 0 |
| stage non rémunéré loi | Campagne 1 | 61 € | 19 | 0 |
Search terms — les requêtes qui ont généré de la dépense sans conversion, triées par budget gaspillé. En lecture seule : notre équipe se sert de cette liste pour ajouter les mots-clés à exclure directement dans l'interface Google Ads.
Trois services, dont un seul écrit. L'outil ne crée, ne modifie ni ne supprime aucune campagne, groupe d'annonces, annonce, mot-clé ou budget. Le pilotage des campagnes est fait par notre équipe, à la main, dans l'interface Google Ads.
customer, campaign, ad_group, keyword_view et search_term_view.Ads Reporting n'est ni vendu, ni concédé sous licence, ni mis à disposition d'un utilisateur externe. Il n'existe pas d'inscription publique, pas d'API publique, pas d'offre en marque blanche.
Uniquement les collaborateurs et prestataires de Studio Geben. Nos clients n'ont pas de compte et ne peuvent pas se connecter : ils reçoivent par email des rapports PDF et tableurs générés par l'outil.
Developer token, client OAuth et refresh token sont stockés en variables d'environnement chiffrées côté serveur. Aucun appel à l'API n'est émis depuis le navigateur.
Chaque compte interrogé est rattaché à notre compte administrateur avec l'accord explicite de son propriétaire. Aucun compte tiers n'est interrogé sans ce rattachement.
Les montants d'encaissement proviennent des systèmes de paiement de nos clients et servent uniquement à calculer le coût d'acquisition réel et à alimenter l'import de conversions hors ligne. Nous ne revendons aucune donnée publicitaire.
Studio Geben is a digital agency. We build websites and sales funnels for client companies, and we manage their paid advertising campaigns. Our revenue comes from agency service fees paid by our clients. We do not sell software and we do not resell advertising data. Every Google Ads account we access is linked to our manager account with the account owner's authorization.
This tool is used only by employees and contractors of Studio Geben, to view campaign performance and generate reports for the accounts we manage. It is not sold, licensed or made available to any external user. Clients do not have accounts and cannot log in — they receive PDF and spreadsheet reports by email. There is no public sign-up, no public API and no white-label offering.
C'est exactement la question à laquelle cet outil répond, en interne, sur chacun des comptes que nous pilotons. Écrivez-nous, nous vous montrons ce que ça donne sur le vôtre.