{"id":9367,"date":"2026-08-12T09:20:00","date_gmt":"2026-08-12T07:20:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=9367"},"modified":"2026-08-12T09:20:00","modified_gmt":"2026-08-12T07:20:00","slug":"google-ads-data-retention-37-months-en","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/","title":{"rendered":"37 Months and Out: Google Ads Data Now Expires on a Schedule"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Since 1 June 2026, Google Ads data has an expiry date. Performance data is kept for 37 months, account change history for 11 years, Reach and Frequency data for 3 years. Today is 10 August 2026, so the oldest performance day you can still pull is 10 July 2023, and that line moves forward by one day every day. If your reporting history lives only inside Google Ads, you are quietly losing a day of it per day. This article does the arithmetic, corrects the numbers that are being misquoted alongside it, and builds a resumable backfill job that moves everything above the line into your own warehouse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. What the retention page actually says<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three windows are documented, and only three:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>37 months<\/strong> for performance data.<\/li>\n<li><strong>11 years<\/strong> for the history of account changes.<\/li>\n<li><strong>3 years<\/strong> for Reach and Frequency.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Most write-ups of this change carry three further numbers along with it: 36 months for the GA Data API, 24 months for the BigQuery Data Transfer Service, 24 months for DV360 and CM360. Those values do not appear on the Google Ads help page that announced the retention windows. They are undocumented as far as this announcement goes, and passing them on as if they were part of it is how a rumour becomes a planning assumption. Plan against the three values above. If you need a retention figure for GA4, for BigQuery transfers or for DV360 and CM360, take it from that product&#8217;s own documentation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One detail is easy to misread: 37 months is longer than three years. Reach and Frequency therefore expires about a month <em>before<\/em> the performance data covering the same campaigns. If you are backing up both, R&amp;F has the tighter deadline, not the looser one.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Work out your own deadline, then find what is already gone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The boundary is a rolling one, not a single cut that happened in June. Compute it rather than remembering it:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-python\">from datetime import date\nfrom dateutil.relativedelta import relativedelta\n\ntoday = date(2026, 8, 10)\nprint(today - relativedelta(months=37))  # performance      2023-07-10\nprint(today - relativedelta(years=3))    # reach, frequency 2023-08-10\nprint(today - relativedelta(years=11))   # change history   2015-08-10<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Anything dated before 10 July 2023 is already unrecoverable through the API. Tomorrow that becomes 11 July 2023. Before writing any export code, find out how much of the still-available range you are actually holding. Against a Postgres warehouse with a daily table:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-sql\">WITH expected AS (\n  SELECT generate_series(DATE '2023-07-10', CURRENT_DATE - 1, INTERVAL '1 day')::date AS d\n)\nSELECT count(*) AS missing_days, min(e.d) AS oldest_gap, max(e.d) AS newest_gap\nFROM expected e\nLEFT JOIN ads_daily a ON a.day = e.d\nWHERE a.day IS NULL;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run the same query with the window start set to your own earliest expected day. Everything it reports below 2023-07-10 is a permanent hole; everything above it is work you can still do.<\/p>\n\n\n\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-adsretention-en.png\" width=\"1120\" height=\"660\" decoding=\"async\" loading=\"lazy\"\n     alt=\"A timeline with a 37-month retention window whose left edge moves daily, older data falling out into a self-hosted warehouse\">\n<figcaption>Three limits, one moving edge. Everything to the left of it has already left Google Ads, so the export job is only useful while it runs ahead of the edge rather than behind it.<\/figcaption>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. A backfill job that resumes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I am not going to print a GAQL field list here, because the right one is the one you already use. Take the resource, the date segment and the selected fields straight out of the report you run today, put them in a config file, and let the job own nothing but the date window:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"customer_id\": \"1234567890\",\n  \"dsn\": \"postgresql:\/\/ads@localhost\/warehouse\",\n  \"resource\":   \"&lt;the resource your existing report reads&gt;\",\n  \"date_field\": \"&lt;the date segment that report groups by&gt;\",\n  \"fields\":     [\"&lt;field 1&gt;\", \"&lt;field 2&gt;\"],\n  \"query_template\": \"SELECT {fields} FROM {resource} WHERE {date_field} BETWEEN '{start}' AND '{end}'\",\n  \"oldest_wanted\": \"2019-01-01\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The runner fetches exactly one window per invocation and records it. State is four columns: <code>customer_id<\/code>, <code>window_start<\/code>, <code>window_end<\/code>, <code>rows<\/code>, written in the same transaction as the data, so a crash simply repeats the window.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-python\">import json\nfrom datetime import date, timedelta\nfrom dateutil.relativedelta import relativedelta\nimport psycopg\n\nCFG, CHUNK = json.load(open(\"\/etc\/ads-backfill\/config.json\")), timedelta(days=7)\nCID = CFG[\"customer_id\"]\n\ndef next_window(cur):\n    cur.execute(\"SELECT max(window_end) FROM backfill_state WHERE customer_id = %s\", (CID,))\n    (last,) = cur.fetchone()\n    floor = max(date.today() - relativedelta(months=37),\n                date.fromisoformat(CFG[\"oldest_wanted\"]))\n    start = last + timedelta(days=1) if last else floor\n    if start &lt; floor:                    # job stalled, those days expired\n        cur.execute(\"INSERT INTO backfill_lost VALUES (%s, %s, %s)\",\n                    (CID, start, floor - timedelta(days=1)))\n        start = floor\n    end = min(start + CHUNK - timedelta(days=1), date.today() - timedelta(days=1))\n    return (start, end) if start &lt;= end else None\n\nwith psycopg.connect(CFG[\"dsn\"]) as conn, conn.cursor() as cur:\n    win = next_window(cur)\n    if win:\n        start, end = win\n        rows = run_report(CID, CFG[\"query_template\"].format(\n            fields=\", \".join(CFG[\"fields\"]), resource=CFG[\"resource\"],\n            date_field=CFG[\"date_field\"], start=start, end=end))\n        cur.executemany(CFG[\"insert_sql\"], rows)\n        cur.execute(\"INSERT INTO backfill_state VALUES (%s, %s, %s, %s, now())\",\n                    (CID, start, end, len(rows)))\n        conn.commit()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>run_report<\/code> is your existing API wrapper, whichever client library it wraps. Everything else in the file works on your side of the line: your config, your table, your transaction boundary.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Cron, ordering, and the loss ledger<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\"># \/etc\/cron.d\/ads-backfill \u2014 one window per hour, oldest first\n7 * * * * ads \/opt\/ads-backfill\/.venv\/bin\/python \/opt\/ads-backfill\/backfill.py &gt;&gt; \/var\/log\/ads-backfill.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Two things about that job are deliberate. It walks <strong>forward from the boundary<\/strong>, not backward from today, because the oldest data is the only data with a deadline; recent days can wait. And when it finds that the boundary has overtaken its own progress, it does not silently skip the gap, it writes the span into <code>backfill_lost<\/code>. That table is the honest answer to &#8220;which periods do we no longer have&#8221;, and it is worth putting on a dashboard next to the gap query from section 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The arithmetic is comfortable. From 10 July 2023 to yesterday is 1,126 days, which is 161 windows of seven days. At one window per hour that is under seven days of wall clock, during which the boundary advances by seven days: you are gaining 168 days of history for every one you lose. Once the backlog is closed, the same job keeps the tail topped up and costs one API call per hour.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You now have a boundary you compute instead of remember, a query that tells you which days inside the still-available window are missing from your warehouse, a single-window runner that resumes cleanly after a crash and clamps itself to the current cutoff, an hourly cron entry, and a ledger of the periods that are already beyond recovery. The whole backlog from 10 July 2023 onward closes in about a week of unattended running, after which the job becomes maintenance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What that buys you is that your reporting history stops being someone else&#8217;s retention policy. Year-over-year comparisons, seasonality models and attribution rebuilds all need data older than 37 months eventually, and after 1 June 2026 the only copy that will still exist is the one you keep. Confirm the three documented windows in the primary source and ignore the extra figures circulating with them: <a href=\"https:\/\/support.google.com\/google-ads\/answer\/15188209\">Google Ads data retention policy<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Ads now deletes performance data after 37 months, and the line moves daily; here is the arithmetic, a resumable backfill job, and the numbers people are wrongly quoting.<\/p>\n","protected":false},"author":1,"featured_media":9382,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[91106,91333,91386,91288],"class_list":["post-9367","post","type-post","status-publish","format-standard","hentry","category-digital-marketing","tag-automation","tag-bigquery","tag-marketing-cyfrowy-pl","tag-google-ads"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Google Ads now deletes performance data after 37 months, and the line moves daily; here is the arithmetic, a resumable backfill job, and the numbers people are wrongly quoting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-12T07:20:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"37 Months and Out: Google Ads Data Now Expires on a Schedule\",\"datePublished\":\"2026-08-12T07:20:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/\"},\"wordCount\":849,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg\",\"keywords\":[\"Automation\",\"BigQuery\",\"Digital Marketing\",\"Google Ads\"],\"articleSection\":[\"Digital Marketing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/\",\"name\":\"37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg\",\"datePublished\":\"2026-08-12T07:20:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg\",\"width\":1200,\"height\":630,\"caption\":\"37 Months and Out: Google Ads Data Now Expires on a Schedule\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/google-ads-data-retention-37-months-en\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"37 Months and Out: Google Ads Data Now Expires on a Schedule\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/","og_locale":"en_US","og_type":"article","og_title":"37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog","og_description":"Google Ads now deletes performance data after 37 months, and the line moves daily; here is the arithmetic, a resumable backfill job, and the numbers people are wrongly quoting.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-12T07:20:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg","type":"image\/jpeg"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"37 Months and Out: Google Ads Data Now Expires on a Schedule","datePublished":"2026-08-12T07:20:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/"},"wordCount":849,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg","keywords":["Automation","BigQuery","Digital Marketing","Google Ads"],"articleSection":["Digital Marketing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/","name":"37 Months and Out: Google Ads Data Now Expires on a Schedule - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg","datePublished":"2026-08-12T07:20:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9367-37-months-and-out-google-ads-data-now-expires-on-a-s.jpg","width":1200,"height":630,"caption":"37 Months and Out: Google Ads Data Now Expires on a Schedule"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/google-ads-data-retention-37-months-en\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"37 Months and Out: Google Ads Data Now Expires on a Schedule"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=9367"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9367\/revisions"}],"predecessor-version":[{"id":9742,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9367\/revisions\/9742"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/9382"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=9367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=9367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=9367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}