You don't have to connect anything to audit a website - scanning needs no analytics. Connecting lets you choose the friction finder when you set up an audit. It uses UX signals from your analytics to uncover the journeys customers struggle on, with a reason against each step, and the pages on those journeys become the audit.
You connect during the audit set-up, on the API step that appears when you choose the friction finder. Each audit can have one Google Analytics and one Microsoft Clarity connection.
What we read
- Page-level figures from Google Analytics - sessions, entrances, exit rate, engagement rate and engagement time.
- Frustration signals from Clarity - rage clicks, dead clicks, quick backs, scroll depth and script errors.
We never read individual session recordings, never collect personal information about visitors, and never write back to your analytics account.
Connecting Google Analytics 4
Google requires UXDuty to authenticate as a service account - a non-human Google identity that you create in Google Cloud and grant read access to your GA4 property. It's a one-time setup and takes about ten minutes.
You'll need
- Admin access to your GA4 property
- A Google account that can create projects in Google Cloud (any free Google account will do)
- About ten minutes
Step 1 - Find your GA4 Property ID
- Open Google Analytics and switch to the property you want to connect.
- Click the gear icon (Admin) in the bottom-left.
- Open Property Settings.
- Copy the numeric Property ID at the top - it looks like
123456789. Keep it somewhere; you'll paste it into UXDuty in Step 5.
Step 2 - Create a Google Cloud service account
- Open console.cloud.google.com.
- If you don't have a project, create one - any name will do (e.g. "UXDuty integration").
- From the menu (☰), go to APIs & Services → Library.
- Search for Google Analytics Data API and click Enable.
- Go to APIs & Services → Credentials.
- Click Create Credentials → Service Account.
- Give it a name (e.g.
uxduty-reader) and click Create and Continue. - Skip the optional "Grant this service account access to project" and "Grant users access" steps - click Done.
Step 3 - Generate the JSON key
- From the Credentials page, click into the service account you just created.
- Open the Keys tab.
- Click Add Key → Create new key → JSON.
- Click Create. Your browser will download a JSON file.
Treat that JSON file like a password. Anyone with it can read your analytics. Keep it out of version control and don't paste it into chat tools.
Step 4 - Grant the service account access to your GA4 property
- Back in Google Analytics, click the gear icon (Admin) again.
- Open Property Access Management.
- Click the + in the top-right and choose Add users.
- For the email, paste the service account's email address. You'll find it in the JSON file under
client_email- it looks likeuxduty-reader@your-project.iam.gserviceaccount.com. - Set the role to Viewer.
- Untick Notify new users by email - the service account isn't a real person.
- Click Add.
Step 5 - Paste both into UXDuty
- In UXDuty, open the API step of a new audit, or the audit's gear icon, then Audit settings and Analytics integrations.
- Expand Google Analytics.
- Paste the GA4 Property ID from Step 1 into GA4 Property ID.
- Open the JSON file in any text editor, copy the entire contents (including the curly braces), and paste them into the Service account JSON field.
- Click Connect. UXDuty makes a real test call to your property. If it works you'll see Connection verified; if not, the message tells you which step needs revisiting.
Common GA4 connection problems
- "GA4 property not found. Check your Property ID." - the Property ID is wrong. Use the numeric ID from Property Settings (Step 1), not a measurement ID.
- "Permission denied. Make sure the service account has access to this GA4 property." - the service account hasn't been added as a Viewer (Step 4).
- "Invalid service account credentials. Check your JSON key file." - the JSON was pasted incompletely. Copy the whole file, including the curly braces.
- "Connection failed" followed by a message from Google - most often the Google Analytics Data API isn't enabled on the Cloud project the service account belongs to (Step 2).
UXDuty only supports GA4. If you're still on Universal Analytics you can still run audits; the friction finder becomes available once you migrate.
Connecting Microsoft Clarity
Clarity is much simpler - one API token, scoped to the Clarity project. Clarity's API returns the most recent three days of data, so the friction finder reads Clarity over that window whatever date range you choose.
Step 1 - Generate a Clarity API token
- Open clarity.microsoft.com and switch to the project you want to connect.
- Go to Settings → Data Export.
- Click Generate new API token.
- Give it a recognisable name (e.g.
UXDuty) and click Generate. - Copy the token immediately. Clarity won't show it to you again - you'd have to generate a new one.
Step 2 - Paste the token into UXDuty
- In UXDuty, open the API step of a new audit, or the audit's gear icon, then Audit settings and Analytics integrations.
- Expand Microsoft Clarity.
- Paste the token into API token.
- Click Connect. UXDuty verifies the token and shows Connection verified.
The token is scoped to the Clarity project that issued it - connecting another Clarity project just means generating a token in that project too.
Common Clarity connection problems
- "Invalid API token" - check the token under Settings → Data Export, or generate a new one.
- "Daily API limit reached (10 requests/day)" - Clarity limits its API to ten requests a day. Connecting, detecting signals and running an analysis each use some, so try again tomorrow.
- "No data returned" - the Clarity project may not have enough traffic yet.
Disconnecting
In UXDuty, open the audit's gear icon, then Audit settings and Analytics integrations, and click Disconnect. Your findings and runs are not affected. To change a credential, disconnect and connect again.
You can also revoke access from the source side at any time:
- Google Analytics - remove the service account email from Property Access Management, or delete the service account in Google Cloud Console.
- Microsoft Clarity - revoke the token under Settings → Data Export.