For reporting owners

    Building a Looker Studio SEO dashboard

    Straight answer first: LemRank has no native Looker Studio connector. Ranking data reaches Looker Studio through the REST API and either Google Sheets or BigQuery. Both routes are documented below, along with what to put on the dashboard once the data arrives.

    Reviewed 20 September 2026.

    Two routes that work

    Route A — Google Sheets as the intermediate

    An afternoon, no engineer required

    A scheduled Apps Script calls the rank tracking API, writes the rows into a sheet, and Looker Studio reads the sheet with its built-in connector. Good for a few thousand keyword rows refreshed daily. Sheets slows down badly past roughly 100,000 rows, so treat it as a reporting window rather than a full archive.

    Route B — BigQuery as the source

    A day of engineering, then it runs itself

    A scheduled job pulls from the API and loads BigQuery; Looker Studio connects natively and stays fast at any history depth. This is the route to take if ranking data has to join sessions, revenue or product data. The table model is on the data warehouse page.

    Panels worth building

    Visibility over time

    Average position, or a weighted visibility score, plotted daily. Segment by keyword group so a single volatile head term does not swamp the line.

    Movement table

    Current position, previous position and the delta, sorted by absolute change. This is the panel people actually act on, so put it above the fold.

    Top-3, top-10 and page-two counts

    Counts move more legibly than averages for stakeholders, and page-two counts show where a small push converts to traffic.

    SERP feature presence

    Share of tracked keywords showing an AI overview, featured snippet or local pack. Falling clicks at a flat position usually explain themselves here.

    URL cannibalisation

    Keywords where the ranking URL changed in the period. Frequent flips signal two pages competing for the same query.

    Four things that make the report wrong

    • Looker Studio caches. If a stakeholder says the numbers are stale, check the data freshness setting before you check the pipeline.
    • Store position as a number with a null for 'not ranking', never as 101 or 0. A sentinel value silently poisons every average on the dashboard.
    • Date-stamp on the check date in a fixed timezone. Mixing local timezones makes day-over-day comparisons wrong by a day for some rows.
    • Blending rank data with Search Console in Looker Studio only works cleanly when both sides share a normalised query and date field. Normalise on load, not in the report.

    Start with the API

    Endpoints, response shapes and rate limits are on the developer page. If your reporting has to cover many domains or markets, send us the scope and we will quote against it.