How to retrieve only targetable Life Events and Detailed Demographics

96 views
Skip to first unread message

Oksana Yudenko

unread,
Aug 21, 2025, 3:45:13 AMAug 21
to Google Ads API and AdWords API Forum

I'm currently working with the Google Ads API (v21) to programmatically set Life Events and Detailed Demographics targeting for Display campaigns. However, I'm encountering inconsistencies between the data returned by the API and what's actually targetable in ad groups.

Current Implementation 
For Detailed Demographics:

SELECT
 detailed_demographic.resource_name,
 detailed_demographic.availabilities,
 detailed_demographic.id,
 detailed_demographic.name,
 detailed_demographic.parent
FROM detailed_demographic
WHERE detailed_demographic.parent IS NOT NULL


For Life Events:

SELECT
 life_event.resource_name,
 life_event.id,
 life_event.name,
 life_event.parent
FROM life_event
WHERE life_event.launched_to_all = TRUE


Setting targeting on ad groups:

lifeEventAudiences?.forEach((lifeEventId) =>
 operations.push(createCriterion({ lifeEvent: { lifeEventId } }))
);

detailedDemographics?.forEach((extendedDemographicId) =>
 operations.push(createCriterion({ extendedDemographic: { extendedDemographicId } }))
);


Problems Encountered
Life Events:

  1. None of the values returned by my query are compatible with ad group targeting
  2. The life_event.launched_to_all = TRUE filter doesn't seem to have any effect
  3. The values I see in the Google Ads UI panel don't match what's returned by the API query
Detailed Demographics:
  1. Only a subset of returned values are actually targetable
  2. I've excluded first-level parents, but there are more non-targetable categorical values scattered across different taxonomy levels
  3. When using launched_to_all = TRUE, the query returns empty results
  4. The list doesn't match what I see in the Google Ads UI panel
Questions
  1. Is there a reliable way to query only targetable Life Events and Detailed Demographics?
  2. What's the recommended approach to filter out taxonomy-only categories that aren't meant for direct targeting?
  3. Why is there a discrepancy between what's shown in the UI and what's returned by the API?
Any guidance on the correct query structure to retrieve only the values that can be used for ad group targeting would be greatly appreciated.

Thank you!

Google Ads API Forum Advisor

unread,
Aug 21, 2025, 7:24:51 AMAug 21
to adwor...@googlegroups.com

Hi,

Thank you for reaching out to the Google Ads API support team.

Please refer to the below responses to your queries respectively.

Is there a reliable way to query only targetable Life Events and Detailed Demographics?

To check the availability of targetable fields for both Life Events and Detailed Demographics, please share a relevant screenshot by highlighting the required fields from the Google Ads UI. This will allow us to check for an accurate query that meets your specific requirements.

What's the recommended approach to filter out taxonomy-only categories that aren't meant for direct targeting?

To filter out taxonomy-only categories, you can use the user_interest.taxonomy_type field. This field is an output-only taxonomy type of the user interest and can help you identify and filter out categories that are not meant for direct targeting. I would recommend you to refer to this user_interest resource from Google Ads API for more additional information.

Why is there a discrepancy between what's shown in the UI and what's returned by the API?

To investigate the discrepancy you are facing, we need more information. Could you share an uncropped UI screenshot of the metrics for which you are seeing the discrepancy, with the relevant information highlighted? Additionally, please provide the complete associated API logs (request and response logs with request-id and request header) generated at your end to better assist you further. 

If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Java, .Net, PHP, Python, Ruby or Perl to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag. 

Any guidance on the correct query structure to retrieve only the values that can be used for ad group targeting would be greatly appreciated.

You can use the targeting setting in your ad groups or campaigns to specify whether to narrow your ads to show only to specific audience segments or on specific content you have selected. If you want to learn how to set targeting criteria for a campaign or ad group, such as audience targeting to specify who you want to reach, you can refer to the Targeting Criteria guide and the Add Campaign Targeting Criteria sample in the Google Ads API documentation.

You can send the details via Reply privately to the author option, or direct private reply to this email.


Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
[2025-08-21 11:24:09Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01u4pse:ref" (ADR-00330603)



Oksana Yudenko

unread,
Aug 22, 2025, 6:16:00 PM (13 days ago) Aug 22
to Google Ads API and AdWords API Forum

Hi Support team,

Thank you for your response, let me give some more details. (I will create another comment for life_event problem to not mix query values)

Demographics values (for ad group targeting criteria).

SELECT
  detailed_demographic.resource_name,


  detailed_demographic.id,
  detailed_demographic.name,
  detailed_demographic.parent
FROM detailed_demographic
WHERE detailed_demographic.parent IS NOT NULL

1. Values like Highest Level of Educational Attainment are categorical only and not assignable (UI also doesn’t allow targeting them).

2. Values under Industry and Company Size appear in the results but are not assignable at all in Display campaigns (and I cannot see values from those categories in my Google Ad UI). I attached a screenshot from my UI - there is no values from Industry sector but I can see them in query results.

3. I need a reliable way to filter out only assignable values via GAQL query (similar to how life_event.launched_to_all works for life events).

Screenshot 2025-08-22 at 12.21.09.png

Here is the full list of values I got for detailed_demographic

       {

           "resourceName": "customers/2806624176/detailedDemographics/30001",

           "id": "30001",

           "name": "Highest Level of Educational Attainment",

           "parent": "customers/2806624176/detailedDemographics/30038",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30002",

           "id": "30002",

           "name": "High School Graduate",

           "parent": "customers/2806624176/detailedDemographics/30001",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30004",

           "id": "30004",

           "name": "Bachelor's Degree",

           "parent": "customers/2806624176/detailedDemographics/30001",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30005",

           "id": "30005",

           "name": "Advanced Degree",

           "parent": "customers/2806624176/detailedDemographics/30001",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30007",

           "id": "30007",

           "name": "Homeowners",

           "parent": "customers/2806624176/detailedDemographics/30006",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30008",

           "id": "30008",

           "name": "Renters",

           "parent": "customers/2806624176/detailedDemographics/30006",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30009",

           "id": "30009",

           "name": "Parents",

           "parent": "customers/2806624176/detailedDemographics/30039",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30010",

           "id": "30010",

           "name": "Parents of Infants (0-1 years)",

           "parent": "customers/2806624176/detailedDemographics/30009",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30011",

           "id": "30011",

           "name": "Parents of Toddlers (1-3 years)",

           "parent": "customers/2806624176/detailedDemographics/30009",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30012",

           "id": "30012",

           "name": "Parents of Preschoolers (4-5 years)",

           "parent": "customers/2806624176/detailedDemographics/30009",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30013",

           "id": "30013",

           "name": "Parents of Grade-Schoolers (6-12 years)",

           "parent": "customers/2806624176/detailedDemographics/30009",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30014",

           "id": "30014",

           "name": "Parents of Teens (13-17 years)",

           "parent": "customers/2806624176/detailedDemographics/30009",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30016",

           "id": "30016",

           "name": "Married",

           "parent": "customers/2806624176/detailedDemographics/30015",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30017",

           "id": "30017",

           "name": "Single",

           "parent": "customers/2806624176/detailedDemographics/30015",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30020",

           "id": "30020",

           "name": "Industry",

           "parent": "customers/2806624176/detailedDemographics/30018",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30021",

           "id": "30021",

           "name": "Company Size",

           "parent": "customers/2806624176/detailedDemographics/30018",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30022",

           "id": "30022",

           "name": "Healthcare Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30023",

           "id": "30023",

           "name": "Technology Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30024",

           "id": "30024",

           "name": "Hospitality Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30025",

           "id": "30025",

           "name": "Education Sector",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30026",

           "id": "30026",

           "name": "Manufacturing Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30027",

           "id": "30027",

           "name": "Construction Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30028",

           "id": "30028",

           "name": "Small Employer (1-249 Employees)",

           "parent": "customers/2806624176/detailedDemographics/30021",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30030",

           "id": "30030",

           "name": "Large Employer (250-10k Employees)",

           "parent": "customers/2806624176/detailedDemographics/30021",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30031",

           "id": "30031",

           "name": "Very Large Employer (10k+ Employees)",

           "parent": "customers/2806624176/detailedDemographics/30021",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30032",

           "id": "30032",

           "name": "Current College Students",

           "parent": "customers/2806624176/detailedDemographics/30038",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30037",

           "id": "30037",

           "name": "In a Relationship",

           "parent": "customers/2806624176/detailedDemographics/30015",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30041",

           "id": "30041",

           "name": "Financial Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

       {

           "resourceName": "customers/2806624176/detailedDemographics/30042",

           "id": "30042",

           "name": "Real Estate Industry",

           "parent": "customers/2806624176/detailedDemographics/30020",

           "type": "DETAILED_DEMOGRAPHIC"

       },

Oksana Yudenko

unread,
Aug 22, 2025, 6:16:02 PM (13 days ago) Aug 22
to Google Ads API and AdWords API Forum
So now I will continue with life_event problem, my query:

         SELECT
             life_event.resource_name,
             life_event.id,
             life_event.name,
             life_event.parent
         FROM life_event
         WHERE life_event.launched_to_all = TRUE

And no one from returned values are assignable to the ad group criterion. For each value I get invalid life event error.
If to look to my Google Ads UI I see that my list of life events looks a little bit different, since I am in EU my list in UI is adjusted
to EU (uses University instead of College in labels for example) but the list returned by query looks closer to US.
And I tried almost each value from this list - it does not work - invalid life event.
Is it a way to get a targetable list of life events?

{
"resourceName": "customers/2806624176/lifeEvents/95001",
"id": "95001",
"name": "College Graduation",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95002",
"id": "95002",
"name": "Marriage",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95003",
"id": "95003",
"name": "Moving",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95004",
"id": "95004",
"name": "Graduating Soon",
"parent": "customers/2806624176/lifeEvents/95001",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95005",
"id": "95005",
"name": "Recently Graduated",
"parent": "customers/2806624176/lifeEvents/95001",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95006",
"id": "95006",
"name": "Getting Married Soon",
"parent": "customers/2806624176/lifeEvents/95002",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95007",
"id": "95007",
"name": "Recently Married",
"parent": "customers/2806624176/lifeEvents/95002",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95008",
"id": "95008",
"name": "Moving Soon",
"parent": "customers/2806624176/lifeEvents/95003",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95009",
"id": "95009",
"name": "Recently Moved",
"parent": "customers/2806624176/lifeEvents/95003",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95011",
"id": "95011",
"name": "Retirement",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95012",
"id": "95012",
"name": "Retiring Soon",
"parent": "customers/2806624176/lifeEvents/95011",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95013",
"id": "95013",
"name": "Recently Retired",
"parent": "customers/2806624176/lifeEvents/95011",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95014",
"id": "95014",
"name": "Recently Engaged",
"parent": "customers/2806624176/lifeEvents/95002",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95015",
"id": "95015",
"name": "Home Renovation",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95016",
"id": "95016",
"name": "Recently Renovated Home",
"parent": "customers/2806624176/lifeEvents/95015",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95017",
"id": "95017",
"name": "Renovating Home Soon",
"parent": "customers/2806624176/lifeEvents/95015",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95018",
"id": "95018",
"name": "New Pet",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95019",
"id": "95019",
"name": "Recently Added Dog to Household",
"parent": "customers/2806624176/lifeEvents/95018",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95020",
"id": "95020",
"name": "Recently Added Cat to Household",
"parent": "customers/2806624176/lifeEvents/95018",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95021",
"id": "95021",
"name": "Business Creation",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95022",
"id": "95022",
"name": "Starting a Business Soon",
"parent": "customers/2806624176/lifeEvents/95021",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95023",
"id": "95023",
"name": "Recently Started a Business",
"parent": "customers/2806624176/lifeEvents/95021",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95024",
"id": "95024",
"name": "Job Change",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95025",
"id": "95025",
"name": "Starting New Job Soon",
"parent": "customers/2806624176/lifeEvents/95024",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95026",
"id": "95026",
"name": "Recently Started New Job",
"parent": "customers/2806624176/lifeEvents/95024",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95027",
"id": "95027",
"name": "Adding Cat to Household Soon",
"parent": "customers/2806624176/lifeEvents/95018",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95028",
"id": "95028",
"name": "Adding Dog to Household Soon",
"parent": "customers/2806624176/lifeEvents/95018",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95029",
"id": "95029",
"name": "Becoming an Empty Nester",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95030",
"id": "95030",
"name": "Last Child Moving Out Soon",
"parent": "customers/2806624176/lifeEvents/95029",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95031",
"id": "95031",
"name": "Last Child Recently Moved Out",
"parent": "customers/2806624176/lifeEvents/95029",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95032",
"id": "95032",
"name": "Purchasing a Home",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95033",
"id": "95033",
"name": "Purchasing a Home Soon",
"parent": "customers/2806624176/lifeEvents/95032",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95034",
"id": "95034",
"name": "Recently Purchased a Home",
"parent": "customers/2806624176/lifeEvents/95032",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95035",
"id": "95035",
"name": "Purchasing First Home Soon",
"parent": "customers/2806624176/lifeEvents/95033",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95036",
"id": "95036",
"name": "Recently Purchased First Home",
"parent": "customers/2806624176/lifeEvents/95034",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95037",
"id": "95037",
"name": "Taking a Trip",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95038",
"id": "95038",
"name": "Researching Destinations",
"parent": "customers/2806624176/lifeEvents/95037",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95039",
"id": "95039",
"name": "Preparing for Upcoming Trip",
"parent": "customers/2806624176/lifeEvents/95037",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95040",
"id": "95040",
"name": "Currently Traveling",
"parent": "customers/2806624176/lifeEvents/95037",
"type": "LIFE_EVENT"
},
{
"resourceName": "customers/2806624176/lifeEvents/95041",
"id": "95041",
"name": "Recently Returned from Trip",
"parent": "customers/2806624176/lifeEvents/95037",
"type": "LIFE_EVENT"
},

On Thursday, 21 August 2025 at 13:24:51 UTC+2 Google Ads API Forum Advisor wrote:

Google Ads API and AdWords API Forum

unread,
Aug 25, 2025, 7:50:53 PM (10 days ago) Aug 25
to Google Ads API and AdWords API Forum

Hi,


To accurately assist you, kindly provide uncropped Google Ads UI screenshot(s) displaying the data you are attempting to retrieve via the API where discrepancies are observed. This uncropped UI screenshot will help us replicate the issue from our end.


You can send the details via Reply privately to the author option, or direct private reply to this email.


Thanks & Regards,

Google Ads API support team.

Oksana Yudenko

unread,
Aug 26, 2025, 7:35:17 PM (9 days ago) Aug 26
to Google Ads API and AdWords API Forum
Hi Support team, please look at uncropped versions of screenshots.
1. All values available to me via UI for life events:
Screenshot 2025-08-26 at 12.05.49.png  Screenshot 2025-08-26 at 12.06.03.pngScreenshot 2025-08-26 at 12.06.25.pngScreenshot 2025-08-26 at 12.06.36.png
Please note that no values from returned via query are acceptable by the Display campaign - I provided you resources id in another post (full paiload).

2. All values for extended demographics, here is no Industry related values as I have in payload. And all Industry values are not assignable for me. All other values are acceptable by Display campaign via API. And another question is how to exclude values like "Parents" which are just categorical and not assignable?
Screenshot 2025-08-26 at 12.12.27.png Screenshot 2025-08-26 at 12.12.37.pngScreenshot 2025-08-26 at 12.12.47.png Screenshot 2025-08-26 at 12.13.01.png

Google Ads API and AdWords API Forum

unread,
Aug 28, 2025, 5:30:11 PM (7 days ago) Aug 28
to Google Ads API and AdWords API Forum
Hi,

I see that the images provided are cropped. Could you please provide us with the uncropped UI screenshots (with visible customer Id).

Also, kindly send the images directly to 'googleadsa...@google.com' and elaborate your query with respect to the images provided. This will help us understand the issue and assist you accordingly.

Regards,
Google Ads API Team.

Oksana Yudenko

unread,
Sep 1, 2025, 1:47:22 PM (3 days ago) Sep 1
to Google Ads API and AdWords API Forum
Hi Google Support team,
thank you very much for the answer and recommendation.
I sent all requested details to the specified address.
I referred to this topic.

Best regards,
Oksana

Reply all
Reply to author
Forward
0 new messages