Skip to content
Guide

Build a Data Studio report from your crawl history

Updated November 12, 2026

In short

Data Studio cannot read a PerfBee live link. A Google Sheet reads the link with =IMPORTDATA, and the report reads that sheet.

Plans
Starter and up.
Credits
None.
Needs
A Google account.

Data Studio reads the sheet, not the link

Data Studio cannot read a PerfBee live link. It can read a Google Sheet. So the data takes three steps: the live link feeds a sheet, and the report reads that sheet.

  1. A PerfBee live link returns your crawl history as CSV.
  2. A Google Sheet reads the link with =IMPORTDATA.
  3. Data Studio reads the sheet as its data source.

The crawl history table holds one row per finished crawl, newest first, the last 365 crawls. Each read builds it again from what your crawls stored, so nothing is appended and no state is kept in the sheet.

Build the report in four steps

  1. Open Settings, then Live links, and choose New live link. Pick Crawl history and your site. Copy the formula PerfBee shows. It is shown once.
  2. In a new Google Sheet, name a tab Crawl history. Paste the formula into cell A1. The tab fills with the table.
  3. In Data Studio, create a report, add data, and choose Google Sheets. Pick your sheet and the Crawl history tab, and tick Use first row as headers.
  4. Add the charts below, and set each number column to a number.
Google Sheets · tab Crawl history · cell A1 · example address
=IMPORTDATA("https://dashboard.perfbee.com/feeds/pbf_xxxxxxxx_xxxxxxxx....csv")

Do not rename the tab, and do not insert columns to the left of the data. Add your own columns to the right of the table, or make calculated fields in Data Studio.

What the table holds

The table has 16 columns. The first ten are always there, and the six on the right add the SEO total and what changed.

  • The crawl. Scanned At (UTC), Scan ID, Scan Mode, Pages Checked, URLs Checked, Working URLs, Redirecting URLs, Broken Links, Not Checked URLs and Credits.
  • What it found. SEO Issues, the total from a detailed crawl.
  • Compared with the crawl before it. New Broken Links, Fixed Broken Links, New Pages, Gone Pages and Changed Pages.

A sheet you built before keeps working: the first ten columns did not move, and the new ones sit on the right. An empty cell means the crawl did not measure it. SEO Issues is empty for a Fast crawl, and the comparison columns are empty for the first crawl of a site.

Three charts worth adding

  • Scorecards. The latest crawl's Broken Links and URLs Checked. Sort by Scanned At (UTC), newest first, and limit the scorecard to one row.
  • A time series. Broken Links and Redirecting URLs against Scanned At (UTC). Every crawl adds a row, so the chart follows your site over time.
  • A table. The last 20 crawls, with Scan Mode, Pages Checked, Broken Links, New Broken Links and Credits.

The date column is text in some sheets. If Data Studio does not read it as a date, add a calculated field with PARSE_DATETIME("%Y-%m-%d %H:%M:%S", Scanned At (UTC)). An empty cell means the crawl stored no count for it, and it is not zero.

The sheet holds your live link

The formula in cell A1 holds the secret address of the link. Anyone who can open the sheet can read your crawl data, and so can anyone who can see the report's data. Share both only with people who may see it.

If the link leaks, open Settings, then Live links, and choose Replace. The old address stops working at once, so paste the new formula into the sheet. More on limits and privacy is in the Google Sheets guide.

Live links are on Starter and up and use no credits

Live links need a plan with exports: Starter and up. Without one, the Google Sheets recipe fills a sheet through the REST API with an Apps Script, and Data Studio reads that sheet the same way.

The help article has the same steps in short.

FAQ

Crawl history reports, answered.

Anything else? Talk to us.

Can Data Studio read a PerfBee live link directly?

No. Data Studio cannot read a live link. It reads a Google Sheet, and the sheet reads the live link with =IMPORTDATA. The report is built on the sheet.

Does the report update after a new crawl?

The sheet reads the live link again on its own, and each read builds the table from your site's newest crawl. Data Studio then reads the sheet, and it keeps its own cache of what it read, so a new crawl can take a while to show. The report has a refresh command.

Which columns does the crawl history table have?

Sixteen. Ten describe the crawl: Scanned At (UTC), Scan ID, Scan Mode, Pages Checked, URLs Checked, Working URLs, Redirecting URLs, Broken Links, Not Checked URLs and Credits. Six more sit on the right: SEO Issues, New Broken Links, Fixed Broken Links, New Pages, Gone Pages and Changed Pages. An empty cell means the crawl did not measure it.

Who can see my crawl data?

Anyone who can open your sheet, because the live link is in cell A1. Share the sheet and the report only with people who may see the data. If the link leaks, replace it in Settings, under Live links.

Which plans can do this?

Live links are on Starter and up and use no credits. Without a live link, the REST API can fill the sheet through an Apps Script, and Data Studio still reads the sheet.

Make your crawl history link.

Open Settings, then Live links, and make a Crawl history link. Live links are on Starter and up.

Start for freeRead the help article

The Free plan needs no card.