URGENT: Google Ads API is reporting "ghost" keywords that are impossible to find or delete in the UI

20 views
Skip to first unread message

Yehor Brahinets

unread,
Sep 22, 2025, 4:28:44 AM (yesterday) Sep 22
to Google Ads API and AdWords API Forum

Hi everyone,

I'm writing to report a perplexing issue where the Google Ads API appears to be inventing data. I was running a highly specific GAQL query with the sole purpose of confirming that certain keywords did not exist with an EXACT match type in a particular ad group. Based on the actual contents of the ad group, the expected output from this query was an empty result.

To my surprise, the query did not return empty. Instead, it returned ENABLED keywords that are demonstrably not present in the Google Ads UI. This has created a situation where the API data is in direct contradiction with what is visible and manageable in the account.

The request:

SELECT
  campaign.id,
  campaign.name,
  ad_group.id,
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.status
FROM ad_group_criterion
WHERE ad_group_criterion.keyword.text IN ('техніка АСКО', 'asko київ')

  AND ad_group_criterion.keyword.match_type = 'EXACT' 


Evidence 1: The API Output (API Output.png)

The API successfully found these keywords. As you can see in the first attached screenshot, the query returns that both 'техніка АСКО' and 'asko київ' are ENABLED and located within our ad group named Посудомийні машини.

(Please note: the ad group name Посудомийні машини is Ukrainian and translates to "Dishwashers" in English.)

Evidence 2: The Google Ads UI (All keywords in the "Dishwashers" Ad group.png)

The second attached screenshot shows the actual keyword list for this exact "Dishwashers" ad group in the UI. As you can see:

  1. The keywords 'техніка АСКО' and 'asko київ' are completely absent.

  2. The filter is set to "Keyword status: All," so they are not hidden because they are paused or removed.

  3. The UI shows only one, completely different keyword.

Conclusion

We have a situation where the API reports active keywords that are invisible and inaccessible through the UI. This means we have "ghost" keywords that are potentially part of the auction but cannot be managed, paused, or deleted.

We have already tried navigating by unique Ad Group ID and Campaign ID to rule out duplicate names. The discrepancy remains.

How can we resolve this? Is this a known bug? How can we force the system to delete these ghost entities that the API sees but the UI does not?

This is a serious data integrity issue, and any help would be greatly appreciated.

Thank you.

All Keywords in the "Dishwashers" Ad Group.png
API Output.png

Google Ads API Forum Advisor

unread,
Sep 22, 2025, 6:45:20 AM (yesterday) Sep 22
to yehorbra...@gmail.com, adwor...@googlegroups.com
Hi,

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

Please be informed that I have removed your response from the forums as it contains the PII information.

Based on the information provided, I understand that you are observing the discrepancy in fetching the data obtained from the Google Ads API and the data seen in the Google Ads UI dashboard. Upon checking the screenshot, I could see that under the keywords section there is only one keyword (Посудомийна машина Asko) present where as while fetching the data from the API it returns the data for the keywords (техніка АСКО, asko київ). Kindly note that we have navigated to your Google Ads account to verify whether there are keywords (техніка АСКО, asko київ) present in your account. However, I couldn't able to find those keywords under the 'Keywords' section but I was able to find those keywords under the 'Negative keywords' section which is just beside the 'Keywords' section. This clearly indicates that these keywords (техніка АСКО, asko київ) are present under the negative keywords.

You can even find whether your keyword is negative or positive even from the Google Ads API by including this field 'ad_group_criterion.negative'. If this field 'ad_group_criterion.negative' turns out to be 'true' then those keywords are negative keywords and will be present in the Google Ads UI under the 'Negative Keywords' section. If this 'ad_group_criterion.negative' turns out to be 'false' then those are positive keywords and those will be present under the 'Keywords' section in the Google Ads UI. I would recommend you to include this field 'ad_group_criterion.negative' in your GAQL query and then verify from your end to the corresponding pages in the Google Ads UI as explained above to obtain the data consistent in both the platforms. From this I can confirm that there is no discrepancy between the data seen in the Google Ads UI and the data retrieved from the Google Ads API. 

I hope this clarifies.
 

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
[2025-09-22 10:44:37Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01u7BK2:ref" (ADR-00333376)



Reply all
Reply to author
Forward
0 new messages