MCC vs direct Google Ads account
Last updated: May 19, 2026
MCC vs direct Google Ads account
Google Ads has two account types: direct customer (an advertiser's account where ads run) and MCC (My Client Center — a manager account that owns multiple customers). When you connect Google Ads, Wevion can import a direct account directly, OR all customers under an MCC in one OAuth flow.
Who is this for
Anyone setting up Google Ads in Wevion for the first time, agencies managing client accounts, in-house teams managing brand accounts via a central MCC.
The two account types
Direct customer account
What most small businesses have:
One account per advertiser
Has a 10-digit Customer ID (e.g.
123-456-7890)Has its own billing (your card charged here)
Has its own currency + timezone (set at creation, immutable)
Campaigns, ads, conversions live here
Authenticated user signs in directly to this account
MCC (Manager account)
For agencies, in-house teams managing multiple brands, or organizations needing centralized control:
Doesn't run ads itself
Owns and manages multiple customer accounts (child customers)
Has its own 10-digit Customer ID
Can centralize billing across child customers (consolidated billing setup)
Can have multiple users with different roles per customer
Can have nested MCCs (MCC managing other MCCs)
When to use which
Scenario | Recommendation |
|---|---|
Solo business, 1 brand | Direct customer only |
Small agency, < 10 clients | Direct customer per client OR small MCC managing them |
Agency 10+ clients | MCC essential (managing 50 direct accounts manually is painful) |
Multi-brand company | MCC + child customer per brand |
Just starting | Direct first; add MCC later when you have multiple accounts |
How Wevion handles MCC
When you authenticate Wevion with a Google user that has MCC admin role:
Wevion fetches the list of customers accessible to the MCC
UI shows the MCC + expandable list of all its child customers
You tick which children to import
For each ticked child: Wevion saves a
google_ad_accountrow + uses MCC's customer ID asloginCustomerIdfor API calls
Behind the scenes: Google Ads API uses the login-customer-id HTTP header to indicate which MCC to scope the call against. Wevion handles this automatically (verified in apps/backend/src/providers/google/domains/account.provider.ts).
You don't need to enter customer IDs manually — Wevion discovers them from MCC access.
MCC permission levels
MCC role | What Wevion can do |
|---|---|
Admin | Full access to MCC settings + all child customers (full read/write) |
Standard | Manage campaigns on all child customers (no MCC settings) |
Read-only | View only — Wevion shows accounts as read-only |
Email-only | Receive reports — Wevion cannot access |
If your Google user has only Read-only MCC role, Wevion can't launch campaigns through it; you'll need to upgrade your MCC role or authenticate a user with higher privilege.
Auth user vs MCC owner
The Google user that authenticates Wevion must have a role on the MCC (or on the direct customer, if connecting without MCC). The Google user doesn't have to be the MCC owner — being a regular MCC user with appropriate role is enough.
For agencies: the agency staff member is typically the authenticating user. The MCC role they have determines what Wevion can do.
Nested MCCs
Some agencies have a parent MCC + multiple sub-MCCs (e.g. parent MCC manages agency, each sub-MCC manages a vertical or client portfolio). Wevion handles this by following the MCC tree from the top — when you authenticate with parent MCC access, Wevion can see all customers under all sub-MCCs.
Currency in MCC structures
Each child customer has its own currency, set when the customer was created. The MCC doesn't enforce currency — you can have a USD child and a EUR child under the same MCC. Wevion respects each customer's currency.
For cross-customer reporting (Cross-Channel Analytics + workspace-level rollups), Wevion converts via Stripe's daily FX rates to your workspace currency (team-106).
Billing under MCC
Two billing models in Google Ads:
Per-customer billing: each child customer has its own payment method, billed independently
Consolidated billing: MCC central billing pays for all child customers' ad spend
Wevion doesn't manage Google Ads billing — that stays in Google Ads UI. Wevion only manages subscription billing to Wevion (acc-101 plans).
Adding new MCC customers later
If you add a new customer to your MCC (in Google Ads) after connecting Wevion:
Google: customer added to MCC
Wevion: next 15-min sync detects the new customer (visible in
/connect/google-ads)You: toggle the new customer ON to import it
No need to redo OAuth — the existing token's MCC access covers new children automatically.
Common MCC questions
Can one Wevion workspace handle multiple MCCs?: Yes — connect each MCC via a different (or same) Google user. They appear side-by-side.
Can different Wevion teammates own different MCCs?: Yes — different teammates connect their own Google users with different MCC access. Workspace sees union.
What if I authenticate with both direct customer AND MCC that owns that customer?: Wevion deduplicates — the customer appears once, accessed via whichever path is faster.
Can I switch a customer from one MCC to another mid-life?: Yes (in Google Ads). Wevion re-syncs ownership on next 15-min cycle.
What if MCC role changes (admin → read-only)?: Wevion respects the new role on next sync — features that require write become disabled.
Common issues
MCC visible but no children: your role on MCC is too low. Need at least Standard.
Customer visible in Google Ads but missing in Wevion: not yet linked under any MCC you connected. Either link it under MCC, or connect Wevion to it directly.
Cannot disconnect a single child without disconnecting MCC: in Wevion: toggle OFF the child individually (works fine — affects only that child's sync). MCC connection stays alive for other children.
Permission Denied on certain API calls: MCC permission insufficient for that action. Upgrade MCC role in Google Ads.
Related
Connect Google Ads — the OAuth flow that handles both types
Google Ads token refresh and reconnection — token model
Google Ads troubleshooting — broader troubleshooting