Connect GA4 & Semrush to Build an Automated Client Health Report (No-Code 2025 Guide)
By Sima Team | June 7, 2025
TL;DR — Blend GA4 traffic & conversions with Semrush keyword rankings in a single Looker Studio dashboard and schedule it to auto-email clients every Monday—all in under 30 minutes. Expected time saved: ~3 hours per report cycle.
Why This Matters for Agencies
- Unified Storytelling — Clients see traffic, conversions, and SEO wins in one snapshot instead of three PDFs.
- Zero Copy-Paste — Say goodbye to downloading CSVs and stitching screenshots in Keynote.
- Scalable — Clone the template across all clients; only swap the GA4 property & Semrush domain.
Prerequisites
| Tool | Free Plan OK? | What You Need |
|---|---|---|
| Google Analytics 4 | ✅ | Editor access to the client property |
| Semrush | ✅ (Guru) | API key or access to the Semrush → Looker Studio community connector |
| Looker Studio | ✅ | Gmail/Workspace account |
| Google Sheets (fallback) | ✅ | Only if you prefer pulling Semrush via IMPORTDATA |
Heads-up: The Semrush community connector moved to OAuth v3 in April 2025—ensure you re-authenticate before blending data.
Step 1 — Pull GA4 Into Looker Studio
- Open Looker Studio → Data → Add data source → Google Analytics.
- Select the GA4 property for your client site.
- Keep default schema (events, conversions, device categories).
- Name it GA4 – ClientX.
Pro Tip: If you’re tracking multiple domains, add a filter (Include → Hostname equals clientsite.com).
Step 2 — Pull Semrush Data
Option A: Native Connector (Fastest)
- Data → Add data source → Community Connectors → Search “Semrush”.
- Click Semrush Organic & Keyword Metrics → Authorize.
- Choose Domain Overview report type.
- Fields to enable: Keyword, Position, Landing Page, Traffic %, SERP Features.
- Name it Semrush – ClientX.
Option B: Google Sheets + API (More Control)
A1: =IMPORTDATA("https://api.semrush.com/?type=domain_rank&key=YOURKEY&export_columns=Dn,Or,Ot&domain=clientsite.com&database=us")
- Refresh interval: Every 6 hours (File → Settings → Calculation → On change & every 6 hrs).
- Then Add data source → Google Sheets → Select the sheet.
Step 3 — Blend the Two Sources
- In Looker Studio, click Resource → Manage blended data → + Create.
- Primary key: Landing Page (SEM) ↔ Page path (GA4).
- Metrics:
- GA4: Sessions, Conversions, Conversion Rate.
- Semrush: Average Position, Traffic %.
- Name the blend SEO x Traffic.
Step 4 — Build the Dashboard (15 min)
| Widget | Data | Notes |
|---|---|---|
| Scorecards | Sessions, Conversions, Avg Position | Current vs previous period |
| Table | Landing Page, Sessions, Avg Pos, Conv Rate | Conditional colour on position drop |
| Time-series | Sessions & Avg Pos (dual-axis) | Quickly spot traffic vs rank correlation |
| Pie | Device Category (mobile vs desktop) | Optional, pulls GA4 only |
Use the Blended source for scorecards and tables; fall back to GA4-only widgets for UX metrics.
Step 5 — Automate the PDF or Email
- Click Share → Schedule email delivery.
- Recipients:
client@company.com,pm@agency.com. - Subject: Weekly SEO + Traffic Health.
- Attach as PDF, repeat Every Monday 08:00 BST.
- Optional: Add custom message with
{{date}}variable.
Bonus — Slack Alert for Rank Drops
Hook the Semrush API to a Slack workflow:
- Zapier → Trigger: Webhooks → Semrush API rank_report (daily).
- Filter: Position change ≤ -5.
- Action: Slack → Send channel message → #seo-alerts.
Your PMs get instant pings when priority keywords tank—no need to wait for Monday’s PDF.
Estimated ROI
| Task | Old Way | New Way | Time Saved |
|---|---|---|---|
| Export GA4 CSVs | 20 min | 0 min | 20 min |
| Copy keywords from Semrush | 15 min | 0 min | 15 min |
| Stitch slides / commentary | 30 min | 10 min (snapshot comments) | 20 min |
| Total per client / week | 65 min | 10 min | ~55 min |
At $90/hr billable, that’s ~$83/client/week saved. Multiply by 10 clients → $3.3k/month.
FAQs
Do I need Semrush Business tier?
Guru is enough—API unit quota resets daily and covers 1–3 domains easily.
How often does the GA4 connector update?
Real-time widgets refresh up to every 15 minutes; scheduled emails cache the latest pull.
Can I add Google Ads cost data?
Yes—use the Google Ads connector and blend by Campaign ID.
Final Takeaway
With a one-time 30-minute setup, you’ll have a self-updating client health report that proves the ROI of your SEO & traffic work—all before your first coffee on Monday. Need a hand? Book a 15-minute walkthrough with the Sima team and we’ll customise the template for you.
Happy reporting!