EUQR

goo.gl links stop working: the case for a Recovery Page

Google announced the end of goo.gl, gave a date, and then changed course three weeks before that date. Some goo.gl links stop working, most survive, and nobody who had printed one knew in advance which group theirs was in. This post walks through the timeline as Google published it, looks at what four other providers say happens when you stop paying, and explains why EUQR built a Recovery Page.

23 Sep 2026

If you search for why goo.gl links stop working, you will find two kinds of answer. One says Google killed the service in 2025. The other says the links still work. Both are partly right, and the reason they are both partly right is the most useful lesson a URL shortener has ever given the print industry. This post sticks to what Google published on its own developer blog, read on 23 September 2026, and then draws the conclusions for anyone who puts a redirect on paper.

Why goo.gl links stop working for some people and keep working for others

Google's URL Shortener stopped accepting new links in 2018, when Google announced its deprecation. Existing links kept redirecting for years. On 18 July 2024, two Google engineers published a post titled "Google URL Shortener links will no longer be available" announcing that all goo.gl links would stop serving after 25 August 2025. From 23 August 2024, some goo.gl links began showing an interstitial page warning that the link would no longer work in the near future.

Then, on 1 August 2025, Google updated the same post. In its words, "we've adjusted our approach in order to preserve actively used links". Only links that showed no activity in late 2024, the ones that had been displaying the warning, would stop working after 25 August 2025. "All other goo.gl links will be preserved and will continue to function as normal." Links generated through Google's own apps, such as Maps sharing, were never affected. Google's advice for checking your own link was simple: open it, and if it redirects without a warning page, it will keep working.

So a goo.gl link printed on a poster in 2017 that was scanned a few times in late 2024 still works today. The same link on a poster that nobody scanned that autumn is dead. Which of those two you got depended on a definition of "active" that was announced after the fact, three weeks before the deadline.

Why this is a print problem

Online, a dead short link is an inconvenience: you edit the page and move on. In print, the link is the page. A goo.gl link on a museum sign, a textbook, a warranty card or a product label cannot be edited, and the object it is printed on may outlive the campaign by a decade. Every dynamic QR code has the same shape as a goo.gl link: the code encodes a short redirect URL on a domain the provider controls, and the provider's server turns it into your destination. That design is what makes the destination editable after printing. It also means the code inherits the provider's decisions, pricing changes and shutdowns.

Our post on whether QR codes expire explains the mechanics: a code has no expiry date of its own, and it stops working when the destination or the redirect behind it stops. This post is about the other half of the question, which is the provider, and about what you should ask before the file goes to the printer.

What four providers say happens when you stop paying

Google's case was a shutdown. The everyday case is a downgrade or a cancellation, and providers differ more than most buyers expect. The following is taken from each provider's own help pages on 23 September 2026.

Bitly's support article on link expiry states that Bitly links never expire, with deletion as the exception. Its article on downgrading, last updated 15 April 2024, says bit.ly links continue to work after a downgrade, and that QR codes behave the same way as the short links they encode. The catch sits in the complimentary custom domain that some plans include: Bitly writes that it will not renew the registration for that domain after a downgrade, and that when the registration expires, any links using that domain stop working. A branded code printed on that domain therefore has a date attached to it that the print does not show. Our post on Bitly's free plan limits covers the rest.

QRCodeChimp's help centre says that when a paid plan expires the account moves to the free plan, static codes keep working, and "only 10 of your dynamic QR codes will be active", with 1,000 scans per month. If you printed 40 dynamic codes on a Starter plan and stop paying, 30 of them go dark and the remaining ten stop at the scan cap until the next month.

Scanova's help centre is the strictest of the four: "Once the free trial or paid subscription ends, all Dynamic QR Codes are automatically deactivated". The data is retained for 26 months so that renewing restores them, and static codes keep working, but during the gap every printed dynamic code fails.

None of these providers is doing anything hidden. Each publishes the rule. The problem is that the rule is read at cancellation time and the code was printed months earlier by someone else.

How EUQR handles it: the Recovery Page

EUQR's answer is to make the end of a subscription a soft landing rather than a cliff. If you cancel or your plan lapses, every dynamic QR code and short link on your account shows your own branded Recovery Page for 90 days. That page carries your logo, a message you wrote and a link you chose, so that a customer who scans an old flyer sees your business rather than an error. After 90 days the codes fall back to a generic EUQR page that explains what a dynamic code is. Static codes generated with EUQR never touched our servers, so they keep working regardless.

The Recovery Page is included on every paid plan, from Starter at €0.99 per month upward, and the current plan limits are on the pricing page. It does not make the provider risk disappear; nothing does, short of a static code with your own domain in it. It does turn a surprise into a scheduled task with a 90-day window, which is what a print buyer needs.

There is a second, quieter safeguard in how the redirect domain is run. EUQR short links live on qreu.eu, a domain EUQR operates for exactly this purpose, hosted in Amsterdam alongside the scan data. There is no complimentary domain with its own registration clock. Details are on the URL shortener page and on the European URL shortener page.

Five questions to ask before you print a redirect

The goo.gl story turns into a checklist. Ask them of any provider, including us.

  1. Who owns the domain in the code, and what happens to that domain if I stop paying or the provider is sold?
  2. What exactly happens to my existing codes on the day I cancel: do they keep working, pause, cap, or die?
  3. Is there a grace period, and can I set my own message during it?
  4. Can I export a list of my codes and their destinations, so that a reprint elsewhere is possible?
  5. Does the provider publish its shutdown or deprecation policy, and has it changed the rules with short notice before?

If you cannot get a written answer to the first two, print a static code for anything that has to outlive the campaign. If you can, and the answers are acceptable, a dynamic code from the dynamic QR code generator gives you editing, counts and a much smaller pattern.

A worked example

A regional theatre printed its season programme in 2017 with a goo.gl link to the ticket page on the back cover. The programmes were kept by subscribers, and in late 2024 a handful of people still scanned it, which was enough activity to keep the link alive through Google's 2025 change. The theatre's poster in the foyer, printed the same year with a different goo.gl link, had no scans that autumn and now shows nothing. Both were printed on the same day by the same person, and nothing on either object hints at the difference.

If the theatre had used a dynamic code with a Recovery Page and later stopped paying, both objects would have shown the theatre's own message for 90 days, with a link to the current box office, and then a page explaining that the code is no longer maintained. That is the difference between an unlucky poster and a managed exit.

Sources read on 23 September 2026: Google's post on the end of goo.gl, Bitly on downgrading and on link expiry, QRCodeChimp on plan expiry and Scanova on subscription expiry.

Frequently asked questions

Do goo.gl links still work in 2026?
Most do. Google's update of 1 August 2025 kept every goo.gl link that showed activity in late 2024 and deactivated only the inactive ones after 25 August 2025. Links made through Google apps such as Maps were never affected. Open the link: if it redirects without a warning, it works.
Why did some goo.gl links stop working and others not?
Google decided in August 2025 to preserve links that were actively used in late 2024 and to switch off those that were not. The dividing line was usage during a period that had already passed when the rule was announced, so printed links fell on either side by chance.
What is a Recovery Page?
The page an EUQR dynamic QR code or short link shows for 90 days after you cancel or your plan lapses. It carries your logo, your message and a link you choose, so old printed codes still lead somewhere useful. After 90 days a generic EUQR page takes over.
Are static QR codes safer than dynamic ones?
Against provider risk, yes: a static code encodes your destination directly and never depends on a redirect server. The price is that you cannot edit it, count scans, or shrink a long URL. For long-lived objects with a stable destination, static is a sound choice.
What should I ask a QR provider before printing?
Who owns the domain in the code, what happens to existing codes on the day you cancel, whether there is a grace period with your own message, whether you can export your codes and destinations, and whether the provider publishes its deprecation policy. Get the first two in writing.

Print codes that land somewhere, even after you leave

Every EUQR dynamic code and short link shows your branded Recovery Page for 90 days after cancellation. Generate a code and see how the exit is handled before you commit.

Create a dynamic QR code