The previous Search Ads 360 Reporting API is decommissioned. You can now create your reports using the new Search Ads 360 Reporting API.
Note that the get and getByCustomerId methods in the Search Ads 360 Conversion API are being deprecated in Q3 2025. To continue accessing conversion data, you must create a report using the conversion resource using the new Search Ads 360 Reporting API. See more details here.
Stay organized with collections
Save and categorize content based on your preferences.
The new Search Ads 360 Reporting API is now available. The new API provides
enhanced flexibility to build custom reports and integrate the data into your reporting applications
and processes. Learn more about migrating to and using the new Search Ads 360 Reporting
API.
Instead of receiving a dump of all data every time you request a report, you can
periodically request only the data that has changed since your last report. These
incremental reports will likely be significantly smaller than a full report.
If you request incremental reports, you should be aware of the following:
It's still a good idea to request a full report every once in a while, just in
case some incremental changes are lost. For example, if you request weekly incremental
reports during January, at the end of February you should request a full report for
January to make sure you get all of the January data.
Since it isn't always possible to determine if some entities have changed, an
incremental report will contain an entity if Search Ads 360 even suspects that the entity
has changed. This means that incremental reports might contain data that hasn't
changed.
To request an incremental report, specify one of the following Reports.request.timeRange properties:
changedMetricsSinceTimestamp=timestamp
Requests metrics that have changed since the specified timestamp. Because metrics are
stored at a daily granularity and might change for one day but not another, such
requests must be segmented by day (the date column must be present). For
example, a keyword report with the columns
clicks, actions, and date, would
return a row for each keyword and date in which the recorded number of
clicks or actions has changed since the given timestamp.
The timestamp must be no earlier than 8 days before the time of request. To capture
all of the changing metrics, be sure to make a changedMetricsSinceTimestamp
request at least once every 7 days, and make a full report for each date
once the metrics have settled (it is safer to wait at least 7 days). An
example pattern is to create two reports every day: an incremental
report for metrics that have changed in the last 36 hours, and a full
report for metrics that occurred 8 days ago.
changedAttributesSinceTimestamp=timestamp
Requests attributes that have changed since the given timestamp. A
changedAttributesSinceTimestamp request can only include
attribute columns (no metric or segment columns), and does not work for
raw event reports such as
conversion reports. For example, a
campaign report with the columns dailyBudget
and campaignStartDate would return a row for each campaign
whose daily budget or start date has changed since the given timestamp.
Note that changes to parent attributes are not captured in
changedAttributesSinceTimestamp reports. For example a
keyword may inherit its bid strategy from the parent ad group.
Even if the ad group is assigned a new bid strategy, this keyword
might not appear in the report. Attribute columns whose value depends
on parent entities (and therefore could change without getting picked
up by changedAttributesSinceTimestamp reports) usually
have the prefix "effective", such as effectiveLabelIds or
effectiveBidStartegy.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe new Search Ads 360 Reporting API offers increased flexibility for creating custom reports and integrating data into your workflows.\u003c/p\u003e\n"],["\u003cp\u003eIncremental reports allow you to retrieve only the data that has changed since your last request, making reports smaller and more efficient.\u003c/p\u003e\n"],["\u003cp\u003eIt is recommended to periodically request full reports in addition to incremental reports to ensure all data is captured.\u003c/p\u003e\n"],["\u003cp\u003eIncremental reports can be requested based on either changed metrics or changed attributes using specific time range properties.\u003c/p\u003e\n"],["\u003cp\u003eWhile \u003ccode\u003echangedAttributesSinceTimestamp\u003c/code\u003e requests provide efficient updates for attributes, changes to parent attributes might not be reflected, necessitating awareness of potential data discrepancies.\u003c/p\u003e\n"]]],["The new Search Ads 360 Reporting API allows users to build custom reports and integrate data into their applications. It offers incremental reports, which retrieve only data that has changed since the last request, reducing report size. Users can request changes in metrics (`changedMetricsSinceTimestamp`) or attributes (`changedAttributesSinceTimestamp`). Full reports are still recommended periodically to ensure no data is missed. For `changedMetricsSinceTimestamp`, data must be segmented by day and should be requested every seven days. Changed attributes only report changes to the attribute itself, not inherited changes from parent.\n"],null,["# Incremental Reports\n\nThe new Search Ads 360 Reporting API is now available. The new API provides enhanced flexibility to build custom reports and integrate the data into your reporting applications and processes. Learn more about migrating to and using the [new Search Ads 360 Reporting\nAPI](https://developers.google.com/search-ads/reporting/overview).\nInstead of receiving a dump of all data every time you request a report, you can\nperiodically request only the data that has changed since your last report. These\nincremental reports will likely be significantly smaller than a full report.\n\nIf you request incremental reports, you should be aware of the following:\n\n- It's still a good idea to request a full report every once in a while, just in case some incremental changes are lost. For example, if you request weekly incremental reports during January, at the end of February you should request a full report for January to make sure you get all of the January data.\n- Since it isn't always possible to determine if some entities have changed, an incremental report will contain an entity if Search Ads 360 even *suspects* that the entity has changed. This means that incremental reports might contain data that hasn't changed.\n\n\nTo request an incremental report, specify one of the following ` `[Reports.request.timeRange](/search-ads/v2/reference/reports#request.timeRange)`\n` properties:\n\n`changedMetricsSinceTimestamp=`*timestamp*\n\n: Requests metrics that have changed since the specified timestamp. Because metrics are\n stored at a daily granularity and might change for one day but not another, such\n requests must be segmented by day (the `date` column must be present). For\n example, a `keyword` report with the columns\n `clicks`, `actions`, and `date`, would\n return a row for each keyword and date in which the recorded number of\n clicks or actions has changed since the given timestamp.\n\n\n The timestamp must be no earlier than 8 days before the time of request. To capture\n all of the changing metrics, be sure to make a `changedMetricsSinceTimestamp`\n request at least once every 7 days, and make a full report for each date\n once the metrics have settled (it is safer to wait at least 7 days). An\n example pattern is to create two reports every day: an incremental\n report for metrics that have changed in the last 36 hours, and a full\n report for metrics that occurred 8 days ago.\n\n`changedAttributesSinceTimestamp=`*timestamp*\n\n: Requests attributes that have changed since the given timestamp. A\n `changedAttributesSinceTimestamp` request can only include\n attribute columns (no metric or segment columns), and does not work for\n raw event reports such as\n [`conversion`](/search-ads/v2/report-types/conversion) reports. For example, a\n `campaign` report with the columns `dailyBudget`\n and `campaignStartDate` would return a row for each campaign\n whose daily budget or start date has changed since the given timestamp.\n\n\n Note that changes to parent attributes are not captured in `changedAttributesSinceTimestamp` reports. For example a keyword may inherit its bid strategy from the parent ad group. Even if the ad group is assigned a new bid strategy, this keyword might not appear in the report. Attribute columns whose value depends on parent entities (and therefore could change without getting picked up by `changedAttributesSinceTimestamp` reports) usually have the prefix \"effective\", such as `effectiveLabelIds` or `effectiveBidStartegy`.\n\n \u003cbr /\u003e"]]