Troubleshooting
| What you see | What to do |
|---|---|
| Add site: the Search Console or GA4 list only shows “None” | Read the message under the list. “Can’t see any yet” means the Google account on the connection has no access to any property: sign in with the account that owns them, or add that account in Search Console or GA4. A “permission” or “reconnect” message means a box was left unticked on Google’s consent screen: use Sign in with Google again and tick every box. An “API is not enabled” message names the API to switch on. Then click Reload lists from Google. |
| “The site editor script stopped with an error” | Another plugin changed the admin scripts. Exclude TurtleReport (or the WordPress admin) from script combining, minifying or delaying in your optimisation plugin, then reload the page. |
Error 400: redirect_uri_mismatch | The redirect URI on the OAuth client doesn’t exactly match the one in the setup guide. Copy it again; check http vs https and www vs no www. |
| “Access blocked” or “has not completed the Google verification process” | The app is in Testing and your account isn’t a test user. Publish the app (Audience → Publish app), or add the account under Audience → Test users. |
| Sign-in stops working after about a week | The app is still in Testing. Publish it, then use Sign in with Google again on the connection. |
| ”… API is not enabled” | Enable the named API in the same Cloud project that owns the OAuth client or service account, wait a minute, and reload. |
| “can’t read this property” or a property is missing | The Google account or service account hasn’t been added to that Search Console or GA4 property, or the access is still propagating. |
| Business Profile: “quota” or “waiting for approval” | Google hasn’t approved Basic API Access for this Cloud project yet. See Business Profile. |
| “didn’t return a long-term token” | Remove the app at myaccount.google.com/permissions and connect again. |
| “saved credentials can’t be read” | The site’s security keys in wp-config.php changed, so stored secrets can’t be decrypted. Reconnect each connection. To avoid this, define TURTLEREPORT_ENCRYPTION_KEY in wp-config.php. |
| Scheduled emails arrive late or not at all | WP-Cron needs site visits; set up a server cron job. If emails never arrive, install an SMTP plugin and check the site’s email status in its settings. |
| A segment shows no data | Check the words match how people search (Search Console lowercases queries) and, for page segments, that the path appears in the address, for example /blog/. |
| Numbers differ slightly from Google’s own screens | Search Console runs about two days behind and hides rare queries. GA4 lead counts follow the channel setting chosen for each site. Use Refresh data for fresh numbers. |
Connection failure alerts
Every connection is checked daily. If one breaks (for example access was removed or the Google sign-in was revoked), alert recipients get one email and administrators see a notice until it’s fixed. Check connection on the Connections screen checks a connection on demand and lists what it can see.