The 7-day wall is Google, not you
Your reports were sending fine, then on day 7 or 8 the Google account went dead. New auth prompts, expired tokens, the lot. You haven’t done anything wrong. Google’s OAuth consent screen is in Testing mode by default, and Testing mode forcibly expires refresh tokens after 7 days.
That’s the whole story. The fix is moving the consent screen to In production. It’s free, it’s quick, and once it’s done you’re back to connect once, send forever.
What to do this week
If a report is due and you don’t have time to deal with Google verification right now, reconnect the account and carry on:
- Open the affected site in SendTidings
- Disconnect the Google integration (Analytics or Search Console, whichever flagged)
- Reconnect it with the same Google account
- The next report will send normally
That buys you another 7 days. It’s a sticking plaster, not a fix; you’ll be back here next week unless you sort the consent screen.
The actual fix: move to Production
This is a one-time job per Google Cloud project. Ten minutes, no review required for the scopes SendTidings uses.
- Go to the Google Cloud Console and pick the project tied to your OAuth client
- Open
APIs & Services→OAuth consent screen - You’ll see
Publishing status: Testing. HitPublish app - Confirm. Status flips to
In production
That’s it. Refresh tokens stop expiring after 7 days. Existing connections keep working — no reconnect cascade needed.
Do I need Google to verify the app?
For the scopes SendTidings requests (read-only Analytics and Search Console data), no. Verification is only required if you’re requesting sensitive or restricted scopes, or if your app is shown to users outside your organisation in ways Google considers risky. A small agency reading its own clients’ analytics doesn’t trigger it.
If Google’s screen warns about verification when you publish, read what scopes it’s flagging. It’s usually fine to proceed.
How SendTidings warns you
We don’t want you to find out at the worst possible moment. When a Google grant expires or gets revoked, you’ll see:
- A warning on the dashboard for the affected account/site
- An email alert — a daily health check probes your Google connections and emails the org’s admins when one newly breaks
If you’ve dismissed the dashboard warning and forgotten (the Dismiss alert button only clears the warning, it doesn’t fix anything), the integration is still broken. Reconnect, then publish the consent screen so it stops happening.
Why Google does this
Testing mode is meant for development. Google assumes anyone in Testing is still building, so they cap refresh tokens at 7 days to force you to think about going live before real users depend on the app. It’s a reasonable default for genuine dev work and a daft default for anyone who’s already shipping.
Every agency new to Google hits this wall. It’s not your setup, it’s not SendTidings — it’s the default state of every new OAuth client until you publish.
See also: Connect Google Analytics 4