Back to GTmetrix in Google Sheets
SheetXAI logo
GTmetrix logo
GTmetrix · Google Sheets Guide

Bulk Run GTmetrix Speed Tests From a Google Sheet

2026-05-14
5 min read

The Scenario

Your agency has 60 client websites, all in a Google Sheet — one URL per row in column A, client name in column B. Every quarter you send each client a performance report. That report needs GTmetrix Grade, performance score, and LCP for their site.

Last quarter you ran the tests one by one, tab by tab, copying scores by hand. It took you the better part of a Tuesday.

The bad version:

  • Open GTmetrix, paste URL from row 2, wait 45 seconds for the test, copy the grade and LCP, switch back to the sheet, type them into columns C and D.
  • Repeat for row 3. And row 4. Forty-seven more times.
  • Discover row 23's test timed out and you need to rerun it — but you've lost your place in the list.

Client reports go out Friday. Spending four hours this week on data collection isn't work — it's overhead that doesn't show up anywhere on your timesheet and doesn't get you closer to the analysis.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads column A, talks to GTmetrix on your behalf, and writes the results back. You describe what you want; it handles the test queue and the writeback.

Run a GTmetrix test for each URL in column A of the "Client Sites" sheet and fill columns C, D, and E with the GTmetrix Grade, performance score, and LCP once each test completes.

What You Get

  • Column C: GTmetrix letter grade (A, B, C, D, E, F) for each URL.
  • Column D: Performance score (0–100) from the test result.
  • Column E: Largest Contentful Paint value in milliseconds.
  • Rows where a test fails or times out are flagged with an error note in column F rather than left blank.

What If the Data Is Not Quite Ready

URLs include query strings or redirects that affect test results

Test each URL in column A with GTmetrix — if a URL redirects, follow the redirect and record the final URL in column B before writing the grade and score into columns C and D.

Some rows already have scores from a previous quarter and should be skipped

Run GTmetrix tests only for rows in the "Client Sites" sheet where column C is empty, and fill columns C, D, and E with the grade, performance score, and LCP for those rows only.

Client names in column B contain the domain for cross-referencing — add a domain-match check

For each URL in column A, run a GTmetrix test and write the grade into column C and the performance score into column D. If the domain of the URL doesn't match the domain in the "Expected Domain" column F, flag that row in column G with "Domain mismatch."

Full cleanup-and-test chain for a messy URL list

Clean the URLs in column A — strip trailing slashes, ensure each starts with https://, and correct any obvious typos like "hhtps" — then run a GTmetrix test for each one and write the grade into column C, performance score into column D, and LCP into column E. Flag any URL that still fails to test in column F.

The cleaner prompt: combine the data prep and the test run in one instruction so you're not doing two passes.

Try It

Get the 7-day free trial of SheetXAI and open your client URL sheet, then ask it to run GTmetrix tests on column A and fill your grade and score columns. When you're done, see also Export GTmetrix Historical Test Reports Into a Google Sheet or return to the GTmetrix + Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more