Dustin Schuler · Bud Clary Auto Group

Copy it.
Paste it.
Ask your data.

Two sessions, every prompt ready to paste into Claude.

Paste each prompt into Claude, one at a time. Let it finish before you paste the next one. Anything in [brackets] is yours to fill in.

What you need connected:

  • GA4 for your store or stores
  • Market inventory: the scraper database in Supabase
  • OhMyDash — your dashboard from the Dealer Dashboard Kit, running at http://localhost:3000 and open in a Chrome tab, with Claude in Chrome connected. The demo data that ships with the kit works for every prompt below.

Nothing here changes your website, your ad accounts, or your data. Every prompt only reads, and every email is a draft.

0

Connect GA4 to Claude

Two ways in. Start with the quick one; it takes a minute and needs nothing installed on your machine. Do the second one when you want Claude querying GA4 directly instead of reading the screen.

0aQuick start: let Claude drive your GA4 tab

Claude's Chrome extension works inside the browser you already use, so it inherits the access you already have. Nothing to install on your machine, no API keys, no Google Cloud project.

1. Add the Claude extension to Chrome, and sign in to Claude.

2. Sign in to the Chrome profile that has GA4 access. Whatever that Google account can see in GA4 is what Claude can see. Nothing more.

3. Open the GA4 report you want: the property, the date range, the report on screen.

4. In the Claude app, tell it to take control of that tab. Then paste any GA4 prompt from this page.

Prompt 0a
Take control of my GA4 tab. Tell me which property and date range is on screen, then list every report you can reach from here. Read only: don't change any setting, filter, or date range unless I ask.

Good to know: Claude is reading the screen, the same as a person would, so give it a moment on big reports and keep one property in front of it at a time. It's the fastest way to start, and it's enough for every prompt on this page.

0bThe deeper connection: let Claude walk you through it

This gives Claude its own read-only login to GA4, a Google "service account," which is the same way the dashboards you already pay for connect. It pulls months of data across every store without anyone clicking through reports. It costs nothing: Google's reporting API is free, and you only pay for your Claude usage.

You'll spend about 15 minutes, mostly clicking in two browser tabs. Paste this into Claude Code and it will do the terminal parts and tell you exactly what to click for the rest:

Prompt 0b
Walk me through connecting GA4 to you with a Google service account, so you can read GA4 directly. Go one step at a time. Wait for me to say "done" before the next step, and do every terminal step yourself instead of asking me to type commands.

1. Check my computer: tell me if I'm on Mac or Windows, make sure uv is installed (install it if not), then install Google's GA4 server with: uv tool install --python 3.12 analytics-mcp
2. In the browser: help me create a Google Cloud project (or pick one I already have), and give me the exact links to turn on the "Google Analytics Data API" and "Google Analytics Admin API" for that project. Ask me for the project ID when I'm done.
3. In the browser: walk me through creating a service account in that project called ga4-reader with no extra roles, then creating a JSON key for it and downloading it.
4. Move the key I downloaded into a private folder: ~/.config/gcloud-keys/ga4-reader.json on a Mac (lock it so only I can read it), or %USERPROFILE%\.config\gcloud-keys\ga4-reader.json on Windows. Never print what's inside the key. Just read the service account's email address out of it and show me that email.
5. In GA4: walk me through Admin, Account access management, then adding that email as a Viewer. If I have more than one GA4 account, tell me to repeat it for each one.
6. Test it: list every GA4 property the service account can see, with its property ID and website, and match each one to my stores.
7. Connect it to Claude Code with: claude mcp add analytics-mcp --scope user -e "GOOGLE_APPLICATION_CREDENTIALS=<key path>" -e "GOOGLE_PROJECT_ID=<project ID>" -- analytics-mcp Then tell me to restart Claude and type /mcp to confirm it's connected.

If any step fails, tell me what the error means in plain English and how to fix it before moving on.

Why this way, and not signing in with your own Google account: Google's standard command-line sign-in won't hand out GA4 access without extra setup, which is where most people get stuck. A service account skips that. It's also safer: it can only read, it only sees the GA4 accounts you add it to, and you can remove it in GA4 in one click. Treat the key file like a password, and don't email it or put it in a shared folder.

(If you ever outgrow it, GA4's BigQuery export is the paid next step, and you'd know when you need it.)

1

Do your two inventory lists agree?

Start here, because it takes 30 seconds and it usually finds something. Export what your inventory system says you have, and export what a marketplace, your website, or your feed provider says you have. Both are telling the truth about themselves. The gap between them is cars nobody can see.

Prompt
I'm giving you two inventory files. Compare them and show me every discrepancy.

1. Tell me what each file is and which system it came from, then how you matched rows: VIN first, stock number second. Say how many rows matched.
2. List every vehicle in file A that is missing from file B, and every vehicle in file B that is missing from file A. Show VIN, stock number, year, make, model, trim, and price.
3. For vehicles in both, list every field that disagrees: price, mileage, trim, color, photo count, status. Sort by price difference, largest first.
4. Then tell me the three most likely causes of what you found, and what each missing unit is costing me while it sits unseen.

Don't summarize until you've listed the actual vehicles. If a field is missing from one file, say so instead of guessing.

Two exports worth comparing: your inventory management system against a third-party marketplace, your feed file against what's live on your own website, or last week's export against today's.

2

Is your website sending the events you'll need?

The Automotive Standards Council (ASC) GA4 standard is on version 1.2. Plenty of stores still aren't on 1.0.

2aAudit every store

Prompt 2a
Read the ASC GA4 Standard v1.2 event list here: https://docs.google.com/spreadsheets/d/1Lrx7-qL3p17tMA7Dpox2q7yIAfmeIZ6W7NtkWBTU2j0/export?format=csv&gid=0

Then:
1. List every GA4 property I can access and which store each one belongs to.
2. For each property, pull event counts by event name for the last 90 days. Where the event_owner parameter is available, include it so we can see which vendor is sending each event.
3. Compare each store against the ASC 1.2 list. Mark every ASC event as Firing or Missing. If an event only makes sense for a tool the store may not have (parts forms, video calls, chat), mark it "No activity, confirm with vendor" instead of Missing.
4. Assign every missing event to the vendor responsible:
   - Website provider: page views, item and list page views, CTA, menu, media, special offer, form engagement, click to call, and sales form submissions
   - Service scheduler: service and service appointment submissions
   - Call tracking provider: voice engagement and voice submission events
   - Chat or texting provider: comm engagement and comm submission events
   - Digital retailing tool: retail process events
5. Show me one table: store, vendor, missing events, and the store's GA4 property ID.

Don't guess. If you can't tell whether an event is firing, say so. Stop after the table and check with me before writing anything else.

2bDraft the vendor emails

Prompt 2b
For each store and vendor with missing events, draft an email to that vendor.

Each email should include:
- The store name and website
- The GA4 property ID
- Each missing event by its exact name, with a one-line description from the ASC spec
- A request to implement ASC GA4 Standard v1.2, including the event_owner parameter
- A request for a go-live date within 30 days

Keep each email under 150 words, friendly, and specific. Group them by vendor in one document so I can copy each one. Draft only. Do not send anything.
3

Are your ad platforms optimizing toward the right thing?

Prompt
Look at the key events marked on each of my GA4 properties. For each key event, tell me whether it's a real lead (a form, a call, a chat, or an appointment) or just engagement (a page view, a click, a scroll).

Then explain, in plain English, what Google Ads, Microsoft Ads, Meta, and TikTok would be optimizing toward if they bid on the conversions I have today. Rank the fixes by how much ad spend they affect.
4

Find the traffic hitting dead pages (404s)

4aFind every 404 and where it came from

Prompt 4a
Using GA4 for the last 90 days, find every page view that landed on a "page not found" page. GA4 doesn't record HTTP status codes, so find them by page title ("Page Not Found", "404", "Oops") and by the error_code parameter on asc_pageview if the site sends it. Tell me which method found what.

For each broken URL, show:
- Sessions and users
- Where the traffic came from: source / medium, campaign, and referring site
- What the URL was probably for: a sold vehicle's VDP, an old model page, an expired special, an old service page, or something else

Sort by sessions. Group the results by who caused the broken link:
- Our website (old internal links, deleted pages)
- Our ads (Google, Microsoft, Meta, or TikTok ads pointing at a dead URL)
- A third party (a listing site, the OEM site, a directory, an email or text campaign)

Stop after the table and check with me.

4bBuild the redirect list and the emails

Prompt 4b
For each broken URL, recommend the best live page to 301 redirect it to:
- A sold vehicle goes to the search results page for that same make, model, and condition
- An old model or specials page goes to the current one
- Anything else goes to the closest matching page, never just the homepage

Give me the redirect list as a two-column table (old URL, new URL) the website provider can load directly. Then draft emails:
- To our website provider, with the redirect list attached
- To whoever runs our ads, listing each ad or campaign still sending traffic to a dead URL
- To each third party linking to a dead page, with the correct URL

Draft only. Do not send anything.
5

Is your ad traffic landing in the right place?

Every campaign has a job. A vehicle listing ad (VLA) is selling one car, so it should land on that car's VDP. If it lands on a search results page instead, the car probably sold, the feed is stale, or the ad catalog is broken, and you're paying for a click that has to start shopping over.

5aFind campaigns landing on the wrong page type

Prompt 5a
Using GA4 for the last 30 days, pull sessions by source / medium, campaign, and landing page. Classify every landing page as one of: VDP (one vehicle), SRP (search results or inventory list), model page, specials, service or scheduler, finance or trade, homepage, 404, or other. Use the URL patterns on my site, and tell me the patterns you used.

Then compare each campaign's intent to where it actually landed:
- Vehicle listing ads (Google VLA, Microsoft, and Meta or TikTok inventory and catalog ads) should land on a VDP
- Model or trim search campaigns should land on a model page or a filtered SRP
- Service campaigns should land on a service page or the scheduler
- Brand campaigns can land on the homepage

List every campaign where more than [10]% of sessions landed on the wrong page type. Show sessions, engagement rate, and lead rate for the right landing vs the wrong one.

5bFind the cause and draft the fix

Prompt 5b
For each mismatch, tell me the most likely cause:
- A VLA or catalog ad landing on an SRP or a 404: the vehicle sold and the inventory feed or ad catalog didn't update, or the feed's link template is wrong
- Inventory ads landing on the homepage: the catalog's URL field is broken
- Search or service campaigns landing on the wrong page: the ad's final URL is wrong

Estimate what those wrong landings cost: sessions on the wrong page times the difference in lead rate. Then draft one email per responsible party: our website provider, our inventory feed provider, and whoever manages each ad account. Draft only.
6

Talk to your market (inventory scraper)

The scraper reads every competitor's public inventory once a day. It knows what's on their lot, what they're asking, when they cut the price, and when a car disappears (which usually means it sold).

Some prompts need history. Price cuts, days on lot, and how fast cars sell only show up after the scraper has run daily for at least two weeks. On day one, run 6f, 6a, 6b, and 6e.

Every inventory prompt starts with this line. Dealer websites spell the same trim differently ("Lariat" and "Lariat®", "SEL" and "SEL AWD", "Transit-350" and "Transit Commercial"), and without it, Claude reports gaps that aren't real.

6aWhat should I buy or order?

Prompt 6a
Before comparing anything, normalize names: ignore ® and ™, ignore case, treat drive type words in the trim (AWD, FWD, 4WD, 4x4) as part of drivetrain, not trim, and group model variants that are the same vehicle. Show me any names you merged.

Using the market inventory database, find the models and trims that competitors in my market stock in real volume and I have little or none of. Only include makes my store sells. Only count a trim if at least two different competitors carry it, so one dealer's opinion doesn't count as a trend.

If the scraper has at least two weeks of history, also check how fast each trim sells in my market: how many days units lasted on competitors' sites before disappearing. Rank by volume (and speed, if available), and give me a buy list for the used car manager and an order list for new.

6bWhere am I priced wrong, in both directions?

Prompt 6b
Before comparing anything, normalize names: ignore ® and ™, ignore case, treat drive type words in the trim (AWD, FWD, 4WD, 4x4) as part of drivetrain, not trim, and group model variants that are the same vehicle. Show me any names you merged.

Compare my pricing to competitors for every model and trim we both have, same condition and same model year. Don't compare raw prices: packages swing MSRP by $15,000 on the same trim. Compare discount off MSRP instead, and convert the difference to dollars per unit.

Leave out competitors that don't publish MSRP, or whose price always equals MSRP (they probably only show MSRP), and tell me which ones you left out.

Give me two lists:
1. Discounted less than the market. These are my first price conversations.
2. Discounted more than the market. I may be leaving money on the table.

For each, show store, stock numbers, my discount, the market discount, the number of competitor units compared, and dollars per unit. If the scraper has two weeks of history, add days on lot. Flag any gap over 15% as "check equipment before repricing."

6cWhen do my competitors blink? needs 2+ weeks of daily scrapes

Prompt 6c
Look at every competitor price cut in the price history. For each competitor, tell me:
- How many days a unit usually sits before the first cut
- How big the first cut usually is, in dollars and percent
- Which models they cut most

Then tell me, for this week, which of their units are coming up on their usual cut day, and whether I have the same trim. That's who is about to undercut me.

6dWho is stuck, and what does that mean for me? needs 90+ days of history

Prompt 6d
Find competitor units that have been on their lot more than 90 days. Group by dealer and model. For each group, tell me:
- If I have the same trim, whether I'm priced above or below them
- If I don't have it, whether it's a dealer trade opportunity
- Whether this is a model the whole market is stuck on, and I should slow down buying it

6eWhere should my ad money go this week?

Prompt 6e
Before comparing anything, normalize names: ignore ® and ™, ignore case, treat drive type words in the trim (AWD, FWD, 4WD, 4x4) as part of drivetrain, not trim, and group model variants that are the same vehicle. Show me any names you merged.

Using the market inventory database, find the trims where I have at least three units and my discount off MSRP is at or above the market's. If the scraper has two weeks of history, also require that the market sells them quickly. Those are the units my ads should push this week.

Then find trims where I discount well below the market or the market is flooded. Those are the ones to pause or lower bids on until the price changes. Give me both lists by store.

6fIs the scraper telling the truth?

Run this first if anything above looks strange.

Prompt 6f
Check the scraper runs for the last 7 days. List any dealer that errored, found zero vehicles, or dropped more than 30% in unit count from one day to the next.

Then check data quality by dealer: missing MSRP, missing price, price above MSRP, and fields holding the wrong thing (like a transmission in the drivetrain field). Tell me which dealers' data I shouldn't trust for pricing yet, and why.
7

Put two systems together (this is where agents win)

7aCars nobody is looking at

Prompt 7a
Compare my active inventory in the market database against GA4 item page views (asc_item_pageview, matched on VIN or stock number) for the last 14 days. List every unit on my lot with zero or almost zero views. For each, suggest why: missing photos, price above market, not syndicating, or low demand for that trim.

7bViews but no leads

Prompt 7b
Find my units with the most GA4 item page views in the last 14 days and no form, call, or chat leads tied to them. Compare each one's price to the market. Tell me which look like pricing problems and which look like merchandising problems.

7cWhat shoppers want vs what I stock

Prompt 7c
Rank the makes, models, and trims shoppers view most on my website over the last 30 days. Put that next to how many units I have and how many my competitors have. Where is demand high and my supply low?

7dAds still running on cars that are gone

Prompt 7d
Find VDP URLs that got paid traffic in GA4 in the last 14 days for vehicles that are no longer active in the market database for my store. Those are ads, feeds, or catalogs still spending money on cars I already sold. List them by campaign and ad platform.
8

Question the dashboard (OhMyDash in Chrome)

8aWhat does each number actually mean?

Prompt 8a
Read the OhMyDash dashboard open in my Chrome tab. List every metric on the page and exactly how it's calculated. Flag any metric whose name might not mean what a GM thinks it means, and ask me the five questions you need answered to interpret it correctly.

8bCheck the dashboard against the source

Prompt 8b
Take three numbers from the OhMyDash dashboard in my Chrome tab and pull the same numbers straight from the data underneath it — GA4 if the dashboard is on my live data, or the matching CSV in demo-data/ if it's on the demo set — for the same date range. Where they don't match, explain why.

8cHow could these numbers lie?

Prompt 8c
For each KPI on the OhMyDash dashboard, describe a realistic way the number could improve while the store gets less profitable. Then check the data for signs that's happening now.
9

Monday morning

Prompt
Write a one-page Monday note for my GM using GA4, the market database, and the OhMyDash dashboard: what changed last week, the three things that need attention, and who should own each one. Plain English, no charts, under 300 words.

Keep the conversation going

Connect with me on LinkedIn

Tell me what you found when you ran these. I'm Dustin Schuler, Marketing Director at Bud Clary Auto Group.

Connect on LinkedIn

linkedin.com/in/dustin-schuler

Scan to connect