Skip to main content

Overview

The Google Search Console integration allows you to view organic search data directly in your Plausible dashboard. See which search queries bring visitors to your site, along with impressions, click-through rates (CTR), and average positions.

Features

  • View top search queries driving traffic to your site
  • See impressions and clicks for each query
  • Monitor click-through rates (CTR)
  • Track average position in Google search results
  • Filter by date range
  • No need to leave your Plausible dashboard

Prerequisites

Before integrating Google Search Console:
1

Verify Site Ownership

Your site must be verified in Google Search Console with one of these permission levels:
  • Site Owner
  • Full User
  • Restricted User
Learn more: Google Search Console verification
2

Wait for Data

Google Search Console typically takes 2-3 days to start collecting data for a new site.
3

Admin Access

You need admin access to your Plausible site to set up integrations.

Setup

1

Navigate to Settings

In your Plausible dashboard, go to your site settings.
2

Find Search Console Section

Look for the “Google Search Console” section in the integrations area.
3

Authorize with Google

Click “Connect Google Search Console” to start the OAuth flow.You’ll be redirected to Google to authorize access with the following scope:
email https://www.googleapis.com/auth/webmasters.readonly
This grants read-only access to your Search Console data.
4

Select Property

After authorization, select which Search Console property to connect to your Plausible site.Properties must match one of your verified permission levels:
  • siteOwner
  • siteFullUser
  • siteRestrictedUser
5

Complete Setup

Save your selection. Data will start appearing in your dashboard within 24 hours.

Property Format

Google Search Console properties can be in different formats:

Domain Properties

sc-domain:example.com
Includes all subdomains and protocols (http/https).

URL-Prefix Properties

https://example.com/
https://www.example.com/
Specific to the exact URL prefix.
Plausible automatically strips trailing slashes when matching properties to your site.

Viewing Search Data

Once connected, search data appears in your Plausible dashboard:
  1. Navigate to your site’s analytics
  2. Look for the “Search Console” section
  3. View top queries with metrics:
    • Search Query - The terms users searched for
    • Visitors - Clicks from Google to your site
    • Impressions - Times your site appeared in search results
    • CTR - Click-through rate (rounded to 1 decimal place)
    • Position - Average ranking position (rounded to 1 decimal place)

Filters

Search Console data respects your Plausible filters:
  • Date range filters
  • Page filters (view queries for specific pages)
  • Custom filters

API Implementation

The integration uses the Google Search Console API to fetch data.

Authentication Flow

The OAuth 2.0 flow:
  1. Generate authorization URL:
    https://accounts.google.com/o/oauth2/v2/auth
      ?client_id={CLIENT_ID}
      &redirect_uri={REDIRECT_URI}
      &prompt=consent
      &response_type=code
      &access_type=offline
      &scope=email%20https://www.googleapis.com/auth/webmasters.readonly
      &state=[SITE_ID,"search-console"]
    
  2. Exchange code for tokens:
    {
      "access_token": "ya29.a0...",
      "refresh_token": "1//0...",
      "expires_in": 3600
    }
    
  3. Store tokens securely with expiration time

Token Refresh

Access tokens expire after 1 hour. Plausible automatically refreshes tokens:
# Check if refresh needed (30 seconds before expiry)
if expires_at < (now + 30 seconds) do
  {:ok, {new_access_token, new_expires_at}} = refresh_token(refresh_token)
  # Update stored credentials
end

Fetching Search Stats

The integration queries the Search Console API:
POST https://www.googleapis.com/webmasters/v3/sites/{PROPERTY}/searchAnalytics/query
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "dimensions": ["query"],
  "rowLimit": 100
}
Response:
{
  "rows": [
    {
      "keys": ["plausible analytics"],
      "clicks": 245,
      "impressions": 1823,
      "ctr": 0.1344,
      "position": 5.2
    }
  ]
}

Data Processing

Plausible processes the response:
// Rounded CTR (to 1 decimal place)
ctr = (raw_ctr * 100).round(1)  // 13.4%

// Rounded position (to 1 decimal place)  
position = raw_position.round(1)  // 5.2

// Map to display format
{
  name: query,
  visitors: clicks,
  impressions: impressions,
  ctr: rounded_ctr,
  position: rounded_position
}

Permission Levels

Only verified properties with appropriate permissions are available:
Permission LevelCan Integrate?
Site Owner✅ Yes
Full User✅ Yes
Restricted User✅ Yes
Associate❌ No
Unverified❌ No

Troubleshooting

No Data Showing

Search Console data may take 24-48 hours to appear in Plausible after connecting.
Google Search Console needs 2-3 days to collect data for new sites.
If your site isn’t receiving organic Google traffic, there won’t be search data to display.
Ensure you selected the correct Search Console property matching your site.

Authorization Errors

Plausible automatically refreshes tokens, but if you see auth errors:
  1. Disconnect the integration
  2. Reconnect and re-authorize
Verify you have Owner, Full User, or Restricted User access in Google Search Console.
If you revoked Plausible’s access in Google account settings, reconnect the integration.

Property Not Listed

Only verified properties with appropriate permissions appear in the list.
Ensure you’re authorizing with the Google account that owns the Search Console property.
Check if you have a domain property (sc-domain:example.com) or URL-prefix property (https://example.com).

Data Privacy

The integration:
  • Only requests read-only access to Search Console data
  • Does not modify any Google Search Console settings
  • Stores only the minimum required credentials (access token, refresh token, expiry)
  • Refreshes tokens automatically without requiring re-authorization
  • Can be disconnected at any time from Plausible settings

Disconnecting

To disconnect Google Search Console:
1

Go to Settings

Navigate to your site settings in Plausible.
2

Find Integration

Locate the Google Search Console section.
3

Disconnect

Click “Disconnect” to remove the integration.
4

Revoke Access (Optional)

Optionally revoke Plausible’s access in your Google Account permissions.

Limitations

  • Data is limited to Google organic search only (no Bing, DuckDuckGo, etc.)
  • Historical data depends on when you verified your site in Search Console
  • Google may anonymize some queries with very low traffic
  • API quotas may apply for very high-traffic sites

Next Steps

Tracker Script

Set up the Plausible tracking script

Custom Events

Track custom goals and conversions

Build docs developers (and LLMs) love