By patrick

GA Insights Spend Analysis & Agency Detection

By patrick · Created Mar 9, 2026 public

Generated: March 4, 2026 | Date Range: Feb 2 - Mar 4, 2026 (30 days) | Source: Production Cosmos DB + Weld API (read-only)

Currency note: Spend figures are in each account's native currency (USD, AUD, INR, JPY, EUR, SEK, etc.) as returned by the ad platforms. Values are NOT normalized to USD. The CurrencyCode from Weld response headers is included where available.

Executive Summary

Analysis of 500 ad-platform projects (633 ad accounts) in GA Insights, combining real ad spend data from the Weld API with agency-likelihood scoring based on behavioral signals.

Metric Value
Total ad accounts analyzed 633
Unique project owners 333
Total 30-day ad spend (mixed currencies) $25,151,086
Likely Agency spend $22,051,763 (88%)
Normal User spend $3,099,322 (12%)
Owners with active spend ~120
Accounts with errors (expired tokens) ~300

Top Spenders

pie title 30-Day Ad Spend by Top Owners (mixed currencies)
    "david@ichigo.com ($9.97M)" : 9966
    "jitendra@anveshan.farm ($6.57M INR)" : 6569
    "fredrik@burstit.se ($2.62M SEK)" : 2618
    "masako@snowfox ($1.68M JPY)" : 1677
    "dalian@uniacco ($1.57M INR)" : 1569
    "bonfire.data ($663K AUD)" : 663
    "All others ($2M)" : 2089

Spend Leaderboard (Aggregated by Owner — Top 60)

# Owner Email Total 30d Spend Projects Platforms Score Type
1 david@ichigo.com $9,965,755 1 Google + Meta Ads 15 Likely Agency
2 jitendra@anveshan.farm $6,569,222 (INR) 1 Meta + Google Ads 15 Likely Agency
3 fredrik@burstit.se $2,617,933 (SEK) 24 Google Ads 25 Likely Agency
4 masako.mozumi@snowfoxskincare.co.jp $1,676,563 (JPY) 1 Meta + Google Ads 15 Likely Agency
5 dalian.pereira@uniacco.com $1,568,961 (INR) 1 Google Ads 10 Normal User
6 bonfire.data@gmail.com $662,878 (AUD) 70 Google + Meta Ads 30 Likely Agency
7 themba@helloinfantry.com $302,919 1 Google Ads 10 Normal User
8 CCollins@rebelliongroup.com $251,192 1 Google Ads 10 Normal User
9 billy.risso-gill@mojomortgages.com $210,423 1 Google Ads 10 Normal User
10 markus.johnson@meloq.se $121,086 (SEK?) 1 Meta + Google Ads 15 Likely Agency
11 code0to1@gmail.com $120,309 1 Google + Meta Ads 15 Likely Agency
12 antoine.coutel@sphere-sante.com $107,365 (EUR?) 1 Google Ads 10 Normal User
13 miraclesurrogacy@gmail.com $101,622 1 Google Ads 10 Normal User
14 analytics@odiv.nl $95,762 (EUR) 5 Google Ads 25 Likely Agency
15 vijayd@brainstormforce.com $86,068 (INR?) 1 Google Ads 10 Normal User
16 allen@wggconsulting.com $52,809 1 Meta Ads 10 Normal User
17 mdavin@themastertradesgroup.com $45,705 1 Google Ads 10 Normal User
18 jonas.rachner@2grow.io $43,755 (EUR?) 1 Google Ads 10 Normal User
19 ashley@freshlypicked.com $41,392 1 Meta Ads 10 Normal User
20 jake@pointhound.com $33,989 1 Meta Ads 10 Normal User
21 mustafa@hdfund.org $27,122 1 Meta Ads 10 Normal User
22 setgoalkeeping@gmail.com $25,515 1 Meta + Google Ads 15 Likely Agency
23 allison@wondersauce.com $25,372 1 Meta + Google Ads 15 Likely Agency
24 admin@arabgiftcard.com $22,631 2 Google Ads 10 Normal User
25 leonardo@lexema.mx $19,535 (MXN?) 5 Google + Meta Ads 30 Likely Agency
26 charlie.phillips@routeone.co.uk $18,249 (GBP?) 1 Google + Meta Ads 15 Likely Agency
27 chris.nolan@rationale.com $18,195 (AUD?) 1 Google Ads 10 Normal User
28 Drake@longpointdigital.com $17,190 1 Google + Meta Ads 15 Likely Agency
29 joel@uncommoninsights.com.au $15,816 (AUD) 1 Google + Meta Ads 15 Likely Agency
30 austinr@demand-iq.com $14,675 1 Meta Ads 10 Normal User
31 skconnectme7@gmail.com $14,035 1 Google Ads 10 Normal User
32 ajayk.webi@gmail.com $12,956 (INR?) 1 Google Ads 10 Normal User
33 a@diacreative.com $12,095 6 Google + Meta Ads 30 Likely Agency
34 sarah@toplcup.com $10,566 1 Meta Ads 10 Normal User
35 brenden@johnnytsunami.com $10,257 1 Google Ads 10 Normal User
36 je@churchfuel.com $10,140 1 Google Ads 10 Normal User
37 jason@ownabode.com $10,015 1 Google + Meta Ads 15 Likely Agency
38 chris@pandamotorworks.com $9,805 1 Google + Meta Ads 15 Likely Agency
39 khloudabdelalem98@gmail.com $9,036 1 Meta Ads 10 Normal User
40 rahul.crmmeetup@gmail.com $7,938 (INR?) 1 Google Ads 10 Normal User
41 josh@ifactory.ca $7,068 (CAD) 1 Meta + Google Ads 15 Likely Agency
42 ullandscaping@gmail.com $6,857 1 Google Ads 10 Normal User
43 info@delvedigital.com.au $6,653 (AUD) 1 Google Ads 10 Normal User
44 tony@labilletteriesaintoise.com $6,259 (EUR) 1 Google Ads 10 Normal User
45 john@agileit.com $5,459 1 Google Ads 10 Normal User
46 jana@fredco.nl $4,725 (EUR) 1 Meta + Google Ads 15 Likely Agency
47 cory@bccinteractive.com $4,471 4 Google Ads 20 Likely Agency
48 digital@alfaomegaindia.com $4,293 (INR?) 1 Meta Ads 10 Normal User
49 jordan@pardeeproperties.com $4,194 1 Google + Meta Ads 15 Likely Agency
50 abdelrahmanmohamed.ams10@gmail.com $3,868 1 Meta Ads 10 Normal User
51 hello@paired.com $3,676 1 Meta + Google Ads 15 Likely Agency
52 ardian@bmsservices.id $3,567 (IDR?) 1 Google Ads 10 Normal User
53 james.briggs1978@gmail.com $3,430 1 Google Ads 10 Normal User
54 mghazal@leadslab.fr $3,372 (EUR) 1 Google Ads 10 Normal User
55 stacie@americanalternativeassets.com $2,987 1 Google + Meta Ads 15 Likely Agency
56 ppc@klatch.co.uk $2,403 (GBP) 1 Google Ads 10 Normal User
57 m.swelam888@gmail.com $789 1 Meta Ads 10 Normal User
58 tyler@loaskin.com $93 (CAD) 1 Meta Ads 10 Normal User
59 cole@freestyleps.com $61 1 Meta Ads 10 Normal User

The remaining ~274 owners returned $0 spend — either due to expired OAuth tokens, paused campaigns, or accounts with no active ads in the 30-day window.

Notable High-Spend Accounts

Bonfire Data — $663K AUD across 70 projects (97 accounts)

bonfire.data@gmail.com is the largest agency in the dataset by far — managing 97 ad accounts across 70 distinct client projects. All tokens are working (zero errors). Score 30 (Likely Agency).

Top client spend (Google Ads, AUD):

Client 30d Spend
Homebuyers Centre WA $57,763
Fleet Network $46,477
Paywise $39,706
Celebration Homes $38,100
Dale Alcock $37,682
United Equipment $37,314
Curtain & Blind Co $25,391
Furniture Bazaar $20,050
CurtainWorld $15,944

Plus Meta Ads: Luma ($4,844 AUD), BE-FIT ($1,797 AUD). 26 other Meta accounts show $0 (paused campaigns, not expired tokens).

Australian digital agency managing a portfolio of home builders, retailers, and service businesses.

Burst IT — $2.62M SEK (~$250K USD) across 24 projects

fredrik@burstit.se — Swedish digital agency managing 24 client projects through a Google Ads MCC account. All Google Ads, spending primarily in SEK. Score 25.

ODIV — $95.8K EUR across 5 projects

analytics@odiv.nl — Dutch agency managing 5 clients through a Google Ads MCC (6243485306). Score 25.

Lexema — $19.5K (MXN?) across 5 projects

leonardo@lexema.mx — Mexican agency managing 5 distinct client brands (APEC 2.0, ZoomLion, Boppy, Fannya 2.0, LXM 2.0) across both Google Ads and Meta Ads. Score 30.

Other significant spenders (likely USD)

Owner 30d Spend Notes
allen@wggconsulting.com $52,809 WGG Consulting, Meta Ads only
ashley@freshlypicked.com $41,392 Freshly Picked (baby moccasins brand), Meta only
jake@pointhound.com $33,989 PointHound, Meta Ads
mustafa@hdfund.org $27,122 HD Fund, Meta Ads
allison@wondersauce.com $25,372 Wondersauce (agency), Meta + Google
austinr@demand-iq.com $14,675 Demand IQ (solar leads), Meta only
sarah@toplcup.com $10,566 Top Level Report, Meta only
jason@ownabode.com $10,015 Abode, Google + Meta
chris@pandamotorworks.com $9,805 Panda Motor Works, Google + Meta

Agency Detection

How the Scoring Works

graph TD
    A[Project Owner] --> B{User.Business == Agency?}
    B -->|Yes +40pts| C[Check Subscription]
    B -->|No| C
    C{V4_A Agency Plan?} -->|Yes +30pts| D[Check Org]
    C -->|No| D
    D{Has OrganizationId?} -->|Yes +10pts| E[Check Projects]
    D -->|No| E
    E{3+ Ad Projects?} -->|Yes +10pts| F[Check Accounts]
    E -->|No| F
    F{5+ Connected Accounts?} -->|Yes +5pts| G[Check Platforms]
    F -->|No| G
    G{Multiple Ad Platforms?} -->|Yes +5pts| H[Classify]
    G -->|No| H
    H --> I{"Score >= 40: Agency"}
    H --> J{"Score 15-39: Likely Agency"}
    H --> K{"Score < 15: Normal User"}

Top Agency-Signal Owners

Tier 1: High Confidence Agencies (Score 30)

Owner Email Projects Accounts 30d Spend Signals
Bonfire Data bonfire.data@gmail.com 70 97 $663K AUD org, 70+ projects, 97 accounts, multi-platform
Lexema leonardo@lexema.mx 5 9 $19.5K org, multi-platform, 5 client brands
Dia Creative a@diacreative.com 6 8 $12K org, 6 projects, multi-platform
R2G Digital management@r2gdigital.com 8 12 $0 org, 8 projects, multi-platform

Tier 2: Strong Signals (Score 25)

Owner Email Projects 30d Spend Signals
Burst IT fredrik@burstit.se 24 $2.62M SEK org, 24 projects, MCC account
ODIV analytics@odiv.nl 5 $95.8K EUR org, 5 projects, MCC account
Flighted peter@flighted.co 17 $0 (Meta tokens expired) org, 17 projects
Trak Racer kevint@trakracer.com 3 $0 (tokens expired) org, multi-region

Tier 3: Moderate Signals (Score 20)

Owner Email Projects 30d Spend Signals
BCC Interactive cory@bccinteractive.com 4 $4,471 org, 4 projects

Spend by Classification

pie title 30-Day Spend by Classification
    "Likely Agency ($22.1M)" : 22052
    "Normal User ($3.1M)" : 3099

No owners scored >= 40 (confirmed Agency). The "Likely Agency" classification captures multi-signal owners, but none had User.Business == "Agency" or a V4_A subscription plan in their profile.

MCC (Manager Account) Patterns

graph TD
    subgraph Bonfire["bonfire.data@gmail.com - MCC: 7863858306"]
        B1[7863858306] --> BC1[Homebuyers Centre WA<br/>$57,763 AUD]
        B1 --> BC2[Fleet Network<br/>$46,477 AUD]
        B1 --> BC3[Paywise<br/>$39,706 AUD]
        B1 --> BC4[Dale Alcock<br/>$37,682 AUD]
        B1 --> BC5[+55 more clients]
    end

    subgraph ODIV["analytics@odiv.nl - MCC: 6243485306"]
        M1[6243485306] --> C1[UBN Uitzendbureau]
        M1 --> C2[Aethon]
        M1 --> C3[Instant 27001]
        M1 --> C4[Mercer Amsterdam]
        M1 --> C5[Geboortecentrum]
    end

    subgraph BurstIT["fredrik@burstit.se - MCC: 5602424259"]
        M2[5602424259] --> D1[Pelle Vavare SE]
        M2 --> D2[LNDA by Linda Johansen]
        M2 --> D3[RAWBIKE]
        M2 --> D4[Sova]
    end

Token Health

Error Type Count Meaning
Value can not be null ~100 Meta Ads token missing or null TokenJson
invalid_grant ~60 Google OAuth refresh token expired/revoked
PermissionDenied ~40 Google Ads account access revoked
Internal (Error starting) ~30 Google Ads API internal errors
OAuthException (190/200) ~20 Facebook session invalidated or no ads_management permission
No TokenId ~15 Project has no token reference
OAuthException (10) ~10 Missing Facebook page permissions
Successful queries ~330 Working tokens returned spend data

Platform Distribution

pie title Ad Accounts by Platform (633 total)
    "Google Ads" : 380
    "Meta Ads" : 253

Data Architecture & Technical Notes

graph LR
    subgraph Cosmos["Production Cosmos (gainsights)"]
        P[Project Container<br/>500 projects queried]
        W[WeldAuthToken Container]
    end

    subgraph Legacy["Legacy Cosmos (ga-prod-eastus)"]
        U[main Container<br/>User docs]
    end

    subgraph Weld["Weld API"]
        WELD[weld-prod-api.azurewebsites.net]
    end

    subgraph Platforms["Ad Platforms"]
        GADS[Google Ads API]
        META[Meta Graph API]
    end

    P -->|OwnerId| U
    P -->|TokenId| W
    W -->|ProviderToken header| WELD
    WELD --> GADS
    WELD --> META

Key Technical Details

Key Insights

  1. Massive Google Ads spend was hidden: Original analysis showed $8.6M total. After fixing the cost_micros double-division bug, actual total is $25.1M (mixed currencies). Google Ads spend was being underreported by 1,000,000x.
  2. Bonfire Data is the largest agency: 70 projects, 97 accounts, $663K AUD/month in active spend. All tokens working. Full-service Australian digital agency.
  3. Currency mixing inflates headline number: The $25.1M includes INR, JPY, SEK, AUD, EUR, and USD mixed together. Normalized to USD, actual total is estimated at $3-5M/month.
  4. Meta Ads dominates brand spend: The largest single-project spenders (Anveshan, Snow Fox, Freshly Picked) are primarily Meta Ads accounts.
  5. Google Ads dominates agency spend: Agencies like Bonfire, Burst IT, and ODIV run predominantly Google Ads campaigns through MCC accounts.
  6. No self-reported agencies: Zero owners had User.Business == "Agency" or V4_A subscription plans — scoring needs Stripe/Clerk cross-referencing.
  7. ~50% token failure rate: Significant re-auth opportunity, especially for Meta accounts.

Next Steps

  1. Normalize currencies — Query Meta GET /{account_id}?fields=currency and Google Ads account currency to convert all spend to USD
  2. Cross-reference Clerk — Check Clerk organization memberships for additional agency signals
  3. Add Stripe data — Check subscription plans directly from Stripe for agency tier detection
  4. Token re-auth campaign — ~50% of tokens have errors; prompt users to reconnect
  5. Historical analysis — Query across time to see spend trends per owner
  6. Revenue attribution — Map spend to GA Insights subscription revenue per owner