Demographic Performance Report
Aggregates performance by age range and gender across the account, compares each segment to the account average, and flags exclusion candidates and strong segments.
by Dmytro Tonkikh·chiliad.io
Overview
Demographic Performance Report builds two account-level tables — by age range and by gender — with cost, clicks, conversions and CPA per segment, each compared against the account average. Segments spending real money with zero conversions or a CPA far above average are marked as exclusion candidates; segments beating the average are marked strong. The Unknown segment gets special respect in the notes: it's usually the largest reach bucket, and excluding it cuts deep.
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust MIN_COST and CPA_FLAG_MULTIPLIER to your account's scale.
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule monthly.
Configuration Variables
| Variable | Default |
|---|---|
DATE_RANGE | LAST_30_DAYS |
MIN_COST | 25 |
CPA_FLAG_MULTIPLIER | 2.0 |
EMAIL_ADDRESS | (empty) |
Expected Output
=== Demographic Performance Report (LAST_30_DAYS) === Account CPA (from demographic-eligible traffic): 41.20 --- AGE RANGES --- AGE_RANGE_25_34 cost: 3120.40 clicks: 2411 conversions: 96.0 CPA: 32.50 <- strong AGE_RANGE_65_UP cost: 412.60 clicks: 380 conversions: 0.0 CPA: - <- EXCLUSION CANDIDATE AGE_RANGE_UNDETERMINED cost: 2840.10 clicks: 2205 conversions: 61.0 CPA: 46.56 --- GENDER --- FEMALE cost: 4102.44 clicks: 3311 conversions: 118.0 CPA: 34.77 <- strong MALE cost: 3960.20 clicks: 3105 conversions: 88.0 CPA: 45.00 Email sent to you@example.com
Notes
Demographic data is Google's inference and a large share lands in UNDETERMINED — treat that bucket as 'mixed', not 'bad', and think twice before excluding it. Check lead quality before excluding any segment; a high-CPA segment can still deliver high-LTV customers.