Using the reporting tool.
Everything the free reporting tool does, and how to wire it up. Written for developers and hands-on owners. If you'd rather not do any of this yourself, tell us about your business and we'll set it up with you.
01How the tool works
The dashboard reads two Google sources, both read-only: Search Console (how people find your site) and Google Analytics (what they do once they arrive). You connect each with your own Google account through Google's sign-in; the tool never sees your password and never changes anything in either product.
Nothing refreshes on its own. The report shows whatever your last Sync now fetched, and says when that was. You decide when to pull fresh numbers. The headline view is the last 28 days against the 28 before, and Google reports search data with roughly a two-day delay, so the newest days fill in as Google publishes them.
02Connecting Search Console
Sign in with the Google account that owns the site's Search Console property, or should own it. If the account already has properties, you pick one; if not, the dashboard creates one and walks you through proving ownership. Two property types exist, and the difference is how ownership is proved:
Domain property
Covers every subdomain and both http and https; a redeploy can't break it. Proved with a TXTrecord on the domain's DNS, the sturdier choice when you control the DNS.
URL-prefix property
Covers one exact address. Proved with a <meta name="google-site-verification"> tag in the page's <head>. Pick this when you can edit markup but not DNS.
Once verified, every sync stores daily clicks, impressions, CTR and average position, plus how many of your sitemap's pages Google reports as indexed. A brand-new property starts from zero, and Google begins collecting from the day it exists.
03Connecting Google Analytics
Connect the Google account that can read the site's GA4 property (it doesn't have to be the Search Console account), pick the property, then choose which events the report should count. The tool lists every event the property recorded in the last 90 days, with counts, so you pick from what actually fires rather than guessing names.
Rows are yours to shape: one event makes a plain count, several events tick together into one combined line (two call buttons become a single “Calls” row), and every row gets a display name in your words, because clients read “Calls”, not call_click_header. The same event may appear in more than one row, on its own and inside a combination.
04Setting up events (for developers)
The report can only count what GA4 records, so the site needs an event per action worth counting: a contact-form submission, a job application, a tap on the phone number. Event names must match [A-Za-z0-9_], up to 40 characters; anything else can't be stored or re-queried.
With gtag.js, fire an event directly:
gtag('event', 'call_click', {});With Google Tag Manager, push to the data layer and forward it with a GA4 Event tag:
dataLayer.push({ event: 'caregiver_form_submit' });Name events by what happened, not where. call_click_header and call_click_footercan always be combined into one “Calls” row later, but one vague clickevent can never be split. WordPress sites using Contact Form 7 or similar can fire these from the form's submit hook or a GTM trigger on the success message.
05The PDF export
Download PDFuses your browser's print-to-PDF. Choose “Save as PDF” in the dialog. The PDF is the dashboard itself, restyled for paper: a masthead naming the property and date range, every chart, the full day-by-day table, and your Analytics rows. What you see on screen is exactly what the PDF says.
06Access and your data
OAuth tokens are stored server-side and used only to fetch the numbers on your report; nothing is sold, shared, or used for advertising or AI training. Revoke access any time, with Disconnect in the dashboard, or from your Google account at myaccount.google.com/permissions. The full detail is in the privacy policy.
Rather not wire this up yourself?
We set up Search Console, Analytics and the events worth counting as part of working together. It starts with a free call about your business, not a quote.
Questions the docs don't answer: hello@premierlogic.nyc
