How to Load AI Search Data in Looker Studio with Promptwatch
How we load Promptwatch into Looker Studio with the connector and an API key, using templates and a 90-day pull window.
Most clients already open Looker Studio for GA4. They will not live in a second GEO login. We load Promptwatch into the same report they already bookmark. Mentions and citations sit next to traffic. They do not get mashed into one "AI score." Keeping them as separate fields is the whole point of the exercise. Merging them is the mistake we are trying to avoid. A merged score looks tidy on a slide and tells you nothing when it moves, because you cannot tell which half moved.
Plan copy matters here. Data Studio is listed on Professional and above (and on the agency plans we actually buy). Essential at $95/mo has MCP and API, which is enough for chat and scripts, but we do not sell Essential as the Looker SKU. Professional is $245/mo. Business is $579/mo. Kick-off is $199/mo with unlimited projects and prompts, 10 seats. Explore is free, 10 ChatGPT prompts. G2: 4.7/5. Confirm the plan is Professional, Business, or Kick-off so Data Studio is actually on the contract before you spend an afternoon on the connector. We have seen teams build the whole board and then discover the seat they hold is Essential, which has the API but not the Looker connector listing. That discovery at the end of a build is the kind of thing that makes an analyst quit.
Connector plus a key
The Promptwatch Looker connector takes an API key. We use a read-only key. The report should not be able to create prompts or push CMS drafts. Write keys stay on the CMS-connected seat. See read-only keys. The read-only choice is not paranoia. A Looker report is shared, screenshotted, and forwarded. A write key in that chain is a draft waiting to be pushed by someone who did not realize the field was live.
A project key is enough for one logo. An org key is what we use on Kick-off when the Looker file has a page per client. Still read-only. We do not paste a write key into a connector that every analyst can open. Every analyst who can edit the report can see how the connector is set up. That is why the key type matters more than people think. A write key in a shared Looker connector is a CMS draft waiting to happen, pushed by whoever finds the field first. The fix is cheap: make the key read-only at creation, and the whole class of accident goes away.
After the connector authenticates, we start from the templates rather than a blank report. The ones we actually use cover monitors, citations, prompts, and visibility. Auto-refresh is on. The pull window is 90 days. If a QBR needs a longer Google story, that comes from Search Console in the same file, not from stretching Promptwatch past the window. The templates exist because the field names are not obvious on a first build. Starting blank costs an afternoon you do not have. The field names are stable once you know them, but guessing them is a poor use of a Tuesday.
Why only 90 days? That is the pull window. If you need a year of Google clicks, connect Search Console natively and keep those charts on their own, including generative AI performance reports when Overviews are in scope. Do not ask Promptwatch to pretend it stored 12 months of assistant rows it did not pull. The window is a storage fact, not a setting you can override. Treating it as a setting is how a board shows a flat line that is really a missing line.
We do not screenshot the Promptwatch UI into Slides as the system of record. That is how two people show two different days. Looker is the shareable cut. Share the report. Keep the Promptwatch login for logs and content work. A screenshot is a moment. A Looker link is a board that refreshes. The link also has a single source of truth, where a screenshot can be edited, cropped, or taken on a day the data had not refreshed.
What belongs on the first page
Engine columns stay split. ChatGPT is not Perplexity. AI Overviews are not a ChatGPT mention. This sounds obvious until someone asks for a single "AI presence" number, at which point it stops being obvious and starts being the most important decision in the build. We keep the engines as their own columns and let the reader compare them. A total is fine as a secondary scorecard, never as the only one. The total hides which engine moved, and which engine moved is the only thing that tells you what to fix.
Citation rows name a URL when we have one. "Mentioned" and "cited" are different fields. We will not color a logo green because the model said the brand once. I have been asked to do that. It makes a pretty slide and a useless meeting. A mention with no citation tells you the brand is in the answer. A citation tells you which page the model pointed at. Those are different operational facts, and the second one is the one you can act on. The action is usually: make that page better, or get a page like it onto the model's radar.
A 90-day visibility trend is enough to see whether a page we shipped in how to get cited by ChatGPT showed up later. It is not enough to invent a case study. We let the trend show up or not. When it does, we say it did. When it does not, we say that too. The board is not a marketing asset. It is a measurement instrument. Treating it as a marketing asset is what turns a clean trend into a cherry-picked one.
What we leave out of this report
We do not put crawler 403s in Looker unless someone explicitly asked for a log extract. On the Professional, Business, or agency plan required for this setup, Agent Analytics stays in Promptwatch. Looker is the scoreboard, not the CDN debugger. A 403 belongs in a ticket, not on a quarterly slide. If we surface every failed fetch in the board, the board becomes a log viewer and the meeting becomes a log review. The board should answer "did visibility move," not "did the CDN return 5xx at 3am."
We do not promise a live ticker. There are no instant alerts in this setup. The report refreshes. We read it on the same cadence as the rest of the retainer. A stakeholder who wants a ping the moment a citation moves is asking for a different product, and we tell them so. The refresh cadence is a feature for a quarterly reader and a limit for someone who wants a pager.
Blending GA4 and GSC into this file is a separate job: how to blend Promptwatch with GA4 and Search Console. Load Promptwatch cleanly first. Blend after the client can read mention vs citation without help. Blending before the client can read the units is how teams end up with a board nobody trusts. Trust comes from the client being able to point at a number and explain it, which only happens after they have spent a month reading the clean version.
FAQ
Why only 90 days?
That is the pull window. If you need a year of Google clicks, connect Search Console natively and keep those charts on their own.
Which plan includes Data Studio?
Professional and above, plus the agency plans we actually buy. Essential at $95/mo has MCP and API. We do not sell Essential as the Looker SKU.
Do we put crawler 403s in Looker?
Not unless someone explicitly asked for a log extract. On Professional, Business, or an agency plan, Agent Analytics stays in Promptwatch. Looker is the scoreboard, not the CDN debugger.
If you want the connector on an existing Looker file, hello@1001seomedia.com. Send the current report link and the project name.