
The Umhlanga Scenario: A New Agency, an Old Token, and a Reporting Number Nobody Trusts
A KwaZulu-Natal consumer-goods brand moves its paid media to a new agency. This is a hypothetical scenario. The marketing director hands over admin access on a consumer Gmail identity, campaigns look healthy, yet reported conversions in the new agency's dashboard are roughly double what the brand's order data suggests. The cause is often mundane: a previous agency's reporting tool still holds OAuth scopes over that login, a GA4 property link survived the handover, and nobody mapped the payments profile.
That gap between platform-reported and true numbers is why a Google account linked services audit matters before anyone touches bids. It is not a security product, and Google publishes no native 'linked services audit report' - you build the inventory yourself from four distinct screens.
What a Linked Services Audit Is - and What It Is Not
A linked services audit is a written inventory of every external app, service link, tenant-level grant and billing surface attached to a Google login that controls ad spend or measurement. It is not activity forensics, a billing setup guide, or a Workspace build - those are separate disciplines.
Do the inventory before you grant or revoke anything. Revoking a link you don't understand can break reporting or billing mid-flight.
Layer 1: Third-Party OAuth Connections at myaccount.google.com/connections
This screen lists every app and service a person has granted access to their Google Account. It is per-identity, not per-organisation - which is why a marketing director's personal Gmail is often the riskiest login in the estate. Auditing it means reading each grant's scopes, not just its name.
How to Read an OAuth Grant: Scopes, Send-As and the 'Analytics Readonly' Problem
A grant labelled 'Analytics Readonly' sounds harmless until you notice it also carries Gmail send-as or Google Ads edit scope bundled into the same consent. Scope creep is the norm. Record, per grant: the app name, the scopes listed, the date last used, and whether the business still holds a contract with that vendor.
myaccount.google.com/connections # OAuth grants per identityads.google.com > Admin > Access # who can enter the Ads accountgoogle.com/analytics > Admin > Product linksadmin.google.com > Security > API controls > App access controlpay.google.com > Settings # payments profile ownershipLayer 2: Google Ads and GA4 Service Links That Outlive the Login
Separate from OAuth, Google Ads holds its own linked-account relationships: Analytics, Merchant Center, Search Console, YouTube, Business Profile and Play. GA4 holds product links of its own. These links persist beyond individual user access - removing a person from the Ads account does nothing to sever a GA4 property still feeding conversions into the campaign. Check both directions and note which links are still commercially intended.
Reconciling the Four Layers: What Each Can Do in the Wrong Hands
| Layer | What it can do if left in the wrong hands | Who normally owns the fix | Where the screen lives |
|---|---|---|---|
| OAuth app grants | Read mail, pull Analytics, or write to Ads via a stale token | The individual account holder | myaccount.google.com/connections |
| Ads / GA4 links | Skew conversion data, retain visibility of spend and audiences | Ads admin or GA4 admin | Ads Admin; GA4 Admin > Product links |
| Workspace app access | Tenant-wide data exposure across the .co.za domain | Workspace super admin | Admin Console > Security > API controls |
| Payments profile | Control of ZAR billing, cards and spend continuity | Finance owner or brand | pay.google.com > Settings |
If you'd rather have the paid-media side handled alongside the audit, see our Google Ads management service.
Layer 3: Workspace Tenant App Access Control for .co.za Domains
If the brand runs Google Workspace on a .co.za domain, tenant-level controls sit above individual grants. In the Admin Console, App access control lets a super admin mark third-party and internal apps as trusted, limited or blocked. The practical wrinkle in South Africa: the super admin is often a founder's personal Gmail or a departed employee, so the audit stalls until that control is recovered. A grant removed at myaccount level does not override a tenant-wide trust decision.
Layer 4: Payments Profile Ownership - the Finding Most Audits Miss
The payments profile owns the ZAR billing relationship: legal name, currency, tax status and cards. A routine finding in handover reviews is that the profile is still owned by an ex-agency, meaning the new team can run campaigns but cannot see or change what funds them. Map ownership and the billing identity.
POPIA framing, not legal advice: a responsible party carries safeguard obligations under sections 19-22, including notification where a compromise occurs. A stale link is a governance gap you can close cheaply.
The POPIA Dimension: Linked Services as a Processor Register
Each third-party connection is effectively an operator (processor) touching personal information - customer emails in a reporting tool, audience data in an ad platform. Treating the OAuth list as a processor register gives the Information Regulator framing a practical home without turning an inventory into a compliance claim.
The Post-Handover Sign-Off Artefact and a Quarterly Review Cadence
Tip: produce a one-page sign-off listing all four layers, dated, with named owners on both sides. Re-run it quarterly and at every agency or staff change.
Where an Orphaned Link Turns Into an Attribution Problem
A stale GA link or orphaned OAuth token quietly distorts conversion reporting - double-counted goals, inflated platform conversions, and a CAC/MER picture that flatters the account. Clean data pipelines and server-side tracking only help if the links feeding them are intentional. Our custom reporting approach and conversion rate optimisation work start from a reconciled source of truth, not the platform's own count.
Audit Cadence and Ownership: Who Fixes What After the Inventory
Assign each layer a single owner: the identity holder for OAuth, the Ads admin for service links, the super admin for tenant controls, and finance for payments. Revoke deliberately, log the date, and re-check in 30 days to confirm nothing broke. That cadence turns a one-off handover exercise into a repeatable control.




