Outil interne — Studio Geben

Google Ads compte des clics. Nos clients, eux, paient pour des ventes. Cet outil réconcilie les deux.

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.

1×/jour
une collecte planifiée par compte géré
< 500
opérations API par jour
0
campagne créée ou modifiée par l'API
Account performance 30 derniers jours
Spend
2 042 €
Real CPA
145,86 €
ROAS
1,35
Daily spend — last 30 days
CampagneDépenseReal CPA
Campagne 1 — Search1 610 €146,36 €
Brand — Search284 €94,67 €
Formations — Search148 €
Pourquoi cet outil existe

Trois angles morts, sur chaque compte que nous gérons.

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.

01

La conversion déclarée n'est pas le chiffre d'affaires.

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.

Nous renvoyons à Google la valeur réellement encaissée, en conversion hors ligne.
02

L'historique fin n'est conservé nulle part.

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.

Une base PostgreSQL alimentée chaque jour, clé : compte × date × entité.
03

Le budget gaspillé reste invisible.

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.

Un classement des termes coûteux et non convertisseurs, lu par notre équipe.
Le fonctionnement

Un job quotidien, une base, une interface qui ne parle jamais à l'API.

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.

1

Authentification

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 adwords
2

Collecte

Une 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 seule
3

Stockage

Les 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 · idempotent
4

Lecture

L'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 · Vercel

Un second job renvoie les ventes réelles à Google.

Il 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.

Les écrans

Deux vues, et c'est tout.

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.

Account performancestudiogeben.com
Spend
2 042 €
Clicks
637
Conversions
14
Real CPA
145,86 €
ROAS
1,35
Daily spend — last 30 days
CampagneDépenseClicsConv.Real CPA
Campagne 1 — Search1 610 €49811146,36 €
Brand — Search284 €102394,67 €
Formations — Search148 €370

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.

Search terms — wasted spendstudiogeben.com
Terme de rechercheCampagneDépenseClicsConv.
convention de stage gratuiteCampagne 1184 €610
modèle convention wordCampagne 1122 €390
convention stage pole emploiCampagne 197 €280
stage non rémunéré loiCampagne 161 €190

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.

Appels API

Ce que l'outil appelle — et ce qu'il n'appellera jamais.

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.

Service
Accès
Usage
GoogleAdsService.SearchStream
Lecture
Rapports de performance en GAQL sur customer, campaign, ad_group, keyword_view et search_term_view.
CustomerService.ListAccessibleCustomers
Lecture
Énumération des comptes rattachés à notre compte administrateur.
ConversionUploadService.UploadClickConversions
Écriture
Import des ventes réelles de nos clients en conversions hors ligne, avec leur montant encaissé.
Campaign / AdGroup / Ad / Keyword / Budget mutate
Jamais
Aucune création ni modification d'entité Google Ads par l'API.
KeywordPlanIdeaService
Jamais
La planification de mots-clés n'est pas utilisée.
Accès & données

Un outil d'agence, pas un produit.

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.

Qui y a accès

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.

Identifiants

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.

Autorisation des comptes

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.

Données clients

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.

Summary in English — for the Google Ads API review

Studio Geben — Internal Ads Reporting Tool

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.

  • A scheduled job runs once per day per managed account, pulls performance metrics with read-only GAQL queries and writes them into our own PostgreSQL database, keyed by account, date and entity ID so re-running a day overwrites it rather than duplicating it.
  • The user interface reads exclusively from that database and never calls the API live.
  • A second job matches purchase records from our clients' payment systems to their Google click identifier and uploads them back as offline conversions carrying their real monetary value.
  • The tool never creates, modifies or removes campaigns, ad groups, ads, keywords or budgets. Campaign management is done by our team directly in the Google Ads interface.
  • The application is a Next.js web app hosted on Vercel; all API calls are server-side and credentials are stored as encrypted environment variables, never exposed to the browser.
Company
Studio Geben
Capabilities
Reporting · Offline Conversion Import
Access
Internal users — employees only
Expected volume
Fewer than 500 API operations / day
Contact

Vous gérez des budgets Google Ads et vous ne savez pas ce qu'ils rapportent ?

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.