Connect your websites, step by step
Trenscope reads reports from your existing Google Analytics 4 (GA4) properties. It does not install tracking or estimate another website’s traffic. Each website must already send visits to GA4.
Already connected? Keep your saved JSON connection. Grant access to the next GA4 property, then add its Property ID.
Open My Websites Open Dashboard
1. Get the Google API connection
This is the one-time setup for your Trenscope account. You will enable Google’s reporting API, create a service account and download its JSON key. The API is the connection; the JSON file supplies the credentials. An ordinary API key or a GA4 Measurement Protocol secret will not work here.
Before you start
- You need access to your Google Cloud project, with permission to enable APIs and create a service account and its key.
- You or your GA4 administrator must be able to manage access to each property. Google requires the Administrator role to add users. [1]
- Use a computer for the initial setup if possible: you will switch between Google Cloud, Google Analytics and Trenscope.
A. Select a Google Cloud project and enable the API
- Open Google Cloud Console and sign in.
- Open the project selector near the top. Select your project, or choose New project, give it a name such as Trenscope Analytics, and create it. Select that project before continuing.
- Open APIs & Services → Library. Search for Google Analytics Data API.
- Open that API and click Enable. If it is already enabled, continue. Use the Data API for GA4 reporting. [2]
Checkpoint: the Google Analytics Data API is enabled in the project you will use for the service account.
B. Create a service account
- In the same project, open IAM & Admin → Service Accounts.
- Choose Create service account. Give it a recognizable name, for example Trenscope Analytics Reader, then continue.
- The optional project permissions and user-access steps can be left empty for this connection. Finish creation. Reading a GA4 property is authorised separately in Google Analytics; you do not need to grant this account a Cloud Owner or Editor role.
- Open the new account and copy its email address. It ends in
iam.gserviceaccount.com. This is the address you will add to GA4—not your personal email. [3]
C. Download the JSON key
- Open your service account’s Keys tab.
- Choose Add key → Create new key, select JSON, then click Create.
- Keep the downloaded
.jsonfile in a private location. Google does not let you download that same private key again. - If key creation is blocked by your organisation, ask its Google Cloud administrator for an approved setup. Do not change organisation security policies simply to bypass the restriction. [4]
Checkpoint: you have the JSON file and the service-account email. Treat the file like a password. Do not send it through a support form or publish it in screenshots.
D. Grant Viewer access in Google Analytics
- Open Google Analytics. Select the account and property for your website.
- Go to Admin → Property access management (under the Property section).
- Choose + → Add users. Paste the service-account email from step B.
- Select Viewer, leave the email notification unchecked for this service account, and click Add.
- Repeat this step for every GA4 property you will connect. One service account can serve multiple properties when each grants it access. [1] [2]
Checkpoint: that exact service-account email appears in the correct property’s access list with Viewer access.
E. Save the connection in Trenscope
- Log in to Trenscope. Real websites require an active subscription; the free Demo uses fictional data.
- Open My Account → My Websites. Under Google API connection, choose your downloaded JSON file.
- Alternatively, open the file in a plain-text editor, copy its entire contents and paste into Or paste the complete service-account JSON. Use one method. Keep all braces, quotation marks and the private-key text intact; do not paste a screenshot or a link to the file.
- Leave Remove saved credentials unchecked. Click Save settings below the Chart lines table.
- After saving, confirm that the expected service-account email appears under Google API connection. Then follow the website guide below. Saving credentials alone does not prove that GA4 access works; Test connection on a saved website checks it.
You do not need to install Python, run Google’s example code, create a Cloud virtual machine, or install Trenscope separately on every monitored website. Trenscope handles the report requests.
2. Add a new website
If your Google connection is already saved, you normally reuse it. You do not need a new JSON file for every website.
A. Find the correct Property ID
- In Google Analytics, select the correct website’s property.
- Open Admin → Property details in the Property settings area. Google’s labels may vary slightly.
- Copy the number labelled Property ID. A fictional example is
123456789. Use the digits only in Trenscope. - Do not use the
G-...Measurement ID, a Stream ID, Google Cloud project number or an oldUA-...tracking ID. [5] - Check Property access management: your saved service-account email must have Viewer access to this property. If missing, complete step D above.
B. Add and complete the website row
- In Trenscope, open My Account → My Websites.
- Scroll to Websites and click Add website. A new editable row appears.
- Complete the fields below. The examples are fictional; use your own values.
| Field | What to enter | Example |
|---|---|---|
| Name | A label for the dashboard. Required: rows with no name are not saved. | My online shop |
| Website URL | The full address, including https://. This supplies the Open website link; it does not choose the GA4 data. | https://www.example.com |
| Group | Optional category. Use the same spelling to put sites together. Blank becomes Ungrouped. | Eshops |
| Property ID | The numeric GA4 Property ID. Required. | 123456789 |
| Hostname filter | Optional exact hostname as recorded by GA4. Useful if a property includes several websites. No https://, slash or path. Blank includes the entire property. | www.example.com |
| Went online | The real website launch date, selected with the date picker. It cannot be in the future. If unknown, leave it blank. | Your actual launch date |
| Order | A number controlling saved order. Lower numbers appear first within the group. | 10, 20, 30 |
Hostname example: example.com and www.example.com are different exact filters. If GA4 reports both, a filter for only one excludes the other. If the property is solely for this website, leaving the filter blank is usually appropriate.
C. Save and test
- Scroll below Chart lines — visible sorting and click Save settings. Adding a row alone does not save it.
- Confirm the website remains in My Websites after the page reloads.
- Open Dashboard. Find the website card and click Test connection, or use Refresh now to reload all sites.
- Check the website name, reporting dates and displayed values. Trenscope displays completed days, so today’s real-time traffic is not included.
- If a report fails or is empty, use the troubleshooting section below. A successful connection to an empty property does not create traffic data.
For the next website: grant the saved service-account email access to its GA4 property, copy its Property ID, add the row and save. Leave the credential upload and paste fields empty to keep the existing connection.
Edit or remove a website
Use Edit site on its dashboard card, or open My Websites. Change the row and click Save settings. To remove a row, click Delete, confirm, then Save settings. This removes it from Trenscope; it does not delete your website or your Google Analytics property. A launch date cannot create missing history: MA200 needs sufficient recorded data.
Optional video: Google service-account setup
Automate Google Analytics 4 (GA4) Reporting With Python | Step-By-Step Tutorial
Creator: Jie Jenn · Hosted on YouTube.
This independent tutorial includes service-account and GA4 access setup. It is not a Trenscope tutorial. Use the written instructions above for our buttons and current setup; the later Python installation and programming sections are not needed.
Watch the original creator’s tutorial.
Loading the player connects to YouTube. Nothing from YouTube is loaded until you click.
Relevant chapter: 06:33 — add the service account to the GA4 users list. The Python installation begins at 08:35; stop there for this setup. Video interfaces may differ from today’s Google screens.
Video credit and ownership: Jie Jenn. Embedded through YouTube, not copied or rehosted. No affiliation or endorsement is implied. If playback is unavailable here, use Watch on YouTube or follow the complete written guide.
Fix a connection problem
| What you see | What to check |
|---|---|
| API disabled / API has not been used / HTTP 403 | Enable Google Analytics Data API in the project named by the error. It must be the project owning the uploaded service account. Allow the change time to take effect, then retry. |
| User does not have sufficient permissions / HTTP 403 | Compare the saved service-account email with the GA4 property’s Viewer entry. Confirm the Property ID belongs to that same property. Your personal access does not automatically give the service account access. |
| Invalid JSON or credentials | Use the original Google service-account JSON file. If pasting, include the entire file. A settings-export file is for Import settings, not Google API connection. |
| Key creation is disabled | Ask your organisation’s Google Cloud administrator. The current Trenscope connection requires an authorised service-account JSON key. |
| Authentication fails after previously working | Check whether the key was disabled/deleted or access was removed. If replacing a key, upload the new JSON, save and test before retiring the old working key. |
| Website disappears after saving | Check that Name was filled in, Property ID contains digits, and no validation error appeared. Remember to click Save settings. |
| No country rows or no traffic | Check GA4 collection, the requested dates and hostname filter. Confirm the property has processed data for completed days. Do not expect the live Realtime number to match this report. |
| MA20 / MA200 unavailable | Check the launch date and available history. A new website may not yet have a full moving-average window. Do not backdate launch to force an indicator. |
| Quota, timeout or network error | Wait and retry. Avoid repeatedly forcing refresh. If persistent, contact support with the exact error and time; never include the private JSON key. |
Copy, paste and transfer
- Save any edits on the source installation. Click Copy settings to another site to download a JSON file to your computer.
- Find that file in your browser downloads or the folder you chose.
- On the destination installation, open My Websites → Import the downloaded file → Choose File. Select the exported JSON file and click Import settings.
- Wait for the imported-and-saved confirmation, then open Dashboard. Import saves automatically; Save settings is only needed for later edits.
Export downloads your complete settings. Include Google API connection only when transferring your private key to another trusted installation. Upload or paste the transfer JSON to import. Import replaces your own settings, never another customer’s. Existing CK Analytics v1 transfer files are supported.
Reading the dashboard
- Blue: daily traffic. Green: 20-day moving average. Red: 200-day moving average.
- Moving averages require full consecutive windows. Traffic before the configured launch date is unavailable.
- Angles are fitted over up to the latest 30 displayed days. Their magnitude depends on chart scale; direction indicates rising or falling.
- Angle D% compares the same date last month at the same scale. A missing or zero previous angle shows N/A.
- Very bullish: Traffic > MA20 > MA200, confirmed by positive angles. Very bearish: MA200 > MA20 > Traffic, confirmed by negative angles. Conflicting signals show a neutral assessment.
- Country D% compares this month’s completed days with equivalent days last month. On the first of the month, it compares completed months.
- Website age and weekly advice describe your own history; they are not an industry benchmark.
World heatmap
The map uses the country table’s sessions and dates, even when the traffic chart is set to Page views or Daily active users. Darker green means more sessions; grey means no reported data. Each site has its own colour scale. Hover, tap or use keyboard focus to read country totals.
Publishing to the Blog
Website editors can use WordPress → Posts → Add New, write an article, optionally set a featured image, and Publish. It appears automatically in Blog. Drafts and scheduled posts appear only when published. Edit an existing post and click Update to change it.
Ulysses users can connect this WordPress website as a publishing account, authorise access, then publish a standard post. The same Blog displays it; no special Trenscope fields are needed. See the official Ulysses publishing guide. Writing and managing posts requires a WordPress author/editor account, not a customer subscription.
Official references and video credit
Setup references checked 9 October 2026. Google may change menu labels; the linked documentation is maintained by its publisher.
- Google Analytics Help — Add, edit, and delete Analytics users and user groups.
- Google for Developers — Google Analytics Data API quickstart. Developer code examples are not required for Trenscope.
- Google Cloud — Create service accounts.
- Google Cloud — Create and delete service account keys.
- Google for Developers — Property ID.
- Jie Jenn — Automate Google Analytics 4 (GA4) Reporting With Python | Step-By-Step Tutorial, YouTube. Creator’s channel.