← All articles
Connecting platforms · Failure mode #3

OAuth token expired

Click 'Reconnect' on the affected source. Auto-refresh failed and the platform requires a fresh authorisation.

What's happening

OAuth access tokens are short-lived by design — Google access tokens expire after 1 hour, Meta long-lived tokens after about 60 days. AgencyLens normally refreshes them automatically in the background using a refresh token, but sometimes the refresh fails. Common reasons: the user revoked AgencyLens at Google Account Permissions / Meta Business Integrations, the source platform changed scopes and forced a re-consent, or the refresh token itself expired (Google sometimes invalidates refresh tokens if the account hasn't been active).

You'll see this as a panel saying "Token expired and no refresh token available. Reconnect" or a failed fetch when you try to generate a report.

How to fix it

  1. Open the affected source's panel in AgencyLens (GA4, Search Console, Google Ads, or Meta Ads).
  2. Click Disconnect. This wipes the stored token from your browser.
  3. Click Connect again. You'll go through the OAuth consent flow once more.
  4. Pick the same account you used originally. Click Allow on the consent screen.
  5. Try generating the report again. The fresh token will work.

If the same source expires repeatedly within a short period, the root cause is usually external — somebody on the team revoked AgencyLens at Google Account → Security → Third-party apps. Check there and remove the revocation if appropriate.

When to email support

If reconnecting works once but the same source expires again within a day, that's a platform-side issue (Google / Meta), not something we can fix from our side. Email support@agencylens.app with the source name, the email account you connected with, and the timestamps you saw the token expire. Per our support policy, if we can't resolve a platform-side OAuth issue within 24 hours, you can request an AppSumo refund.

Screenshots needed (operator notes)
  • "Token expired" banner in the source panel
  • Disconnect button location
  • Google Account Permissions page showing AgencyLens with revoke option