Giving an agency access to Google Analytics 4 and Google Tag Manager
GA4 gives roles such as Viewer or Editor per account or property. Tag Manager gives Read, Edit, Approve or Publish per container. The client stays the admin.
Google Analytics 4 (GA4) measures how people use a website or app. Google Tag Manager is where you manage tags, the small pieces of code that do that measuring and other tracking on a site. Both let the owner invite each person’s own Google account, which is a form of delegated access. They are separate products, though, and they set access at different levels with different role names.
Where access is set, and who adds and removes people
GA4 sets access at two levels: the account and the property (one website or app being measured). Tag Manager also has two: the account and the container (the set of tags for one site).
| GA4 | Tag Manager | |
|---|---|---|
| Who can be added | Email addresses registered with Google accounts | Google accounts |
| Who adds users | An Administrator on the account or the property | An Administrator on the account |
| Who removes users | An Administrator at the account level | An Administrator on the account |
Both help centers point toward the account staying with the business that owns the data. Analytics Help defines an account as “a collection of properties whose data is owned by a single legal entity” and suggests one account per company. Tag Manager Help advises that someone inside the organization, rather than an outside agency, manage the account. For your agency, that means the client stays the administrator and invites your staff.
Roles in GA4
GA4 has five roles.
| Role | What it allows (summarized from Analytics Help) |
|---|---|
| Administrator | Full control, including adding and deleting users and assigning any role |
| Editor | Full control of property settings. Can see users but not manage them |
| Marketer | Manage audiences (groups of users that meet set conditions), events and key events (actions counted as results) |
| Analyst | Share explorations (custom analyses) with other users |
| Viewer | See settings and data, change which data appears in reports, and build their own explorations |
One way to choose: a web design firm that only reads reports gets Viewer. An agency that builds out the measurement setup gets Editor. An ad specialist who decides which actions count as results gets Marketer.
You can also add data restrictions to a role. No Cost Metrics hides cost figures, and No Revenue Metrics hides revenue figures. Restricted values show as 0 in reports. Use them when the person building the site has no reason to see sales.
If your agency works on only some of the client’s sites, ask to be added at the property level. A role given at the account level applies to every property under it. Analytics Help also says a lower level can raise a role but can’t lower it below what was granted above.
Linking Google Ads adds another set of users. When a Google Ads account is linked to a GA4 property, its users get an Analytics role automatically. That role doesn’t open GA4 itself. It lets them use GA4 features, such as audiences built from GA4 data, inside Google Ads. A GA4 Administrator can change that role and its data restrictions, and both last until the link is deleted.
Permissions in Tag Manager
At the account level there are two permissions. An Administrator can create containers and change other users’ permissions. A User sees basic account information and gets no container access unless an admin assigns it. Container permissions are set separately.
| Permission | What it allows (summarized from Tag Manager Help) |
|---|---|
| Read | See tags, triggers and variables. No changes |
| Edit | Create workspaces (working copies) and make edits. Can’t create versions or publish |
| Approve | Edit and create versions (saved snapshots of the setup). Can’t publish |
| Publish | Everything above, plus publishing |
A change in Tag Manager reaches the site only when someone publishes it, and only Publish includes that. So the client can give your agency Edit or Approve and keep publishing in its own hands. Tag Manager Help also recommends at least two active administrators.
When your own staff change
Because the client keeps the admin roles, removing someone who leaves your agency means asking the client to do it. A Google Ads manager account works differently: there, your agency removes its own staff.
What to remove when a contract ends
Most of this work falls to the client’s administrators. Give them a list of who you added, and at which level, so nothing gets missed.
- If you created the client’s property inside your agency’s GA4 account, move it into the client’s account first. Moving a property needs the Administrator and Editor roles on both accounts, so your agency has to take part. Choose to replace the property’s permissions with those of the destination account. If you keep the existing permissions, your staff stay on the property.
- In GA4 Access Management, remove your staff. Check the account list and each property’s list, since people can be added at either level.
- In Tag Manager User Management, remove your staff from the account and its containers.
- Check the Google Ads links. Anyone who still has access to a linked Google Ads account keeps the GA4 role that comes with the link. GA4 can also link to a Google Ads manager account. Then data imported from GA4 is available to every client account under it, so make sure your agency’s manager account isn’t left in the list.
- If one of your staff was a Tag Manager administrator, confirm the client has its own admin before removing them. Tag Manager deletes an account or container automatically once it has no admin, for example after the only admin’s Google account is deleted. Users with Read access then have 30 days to export its contents from the trash.
GA4’s change history keeps two years of changes, with the time and the person who made each one. Viewing it needs the Editor role. Analytics Help doesn’t say whether adding or removing users appears there.
When staff sign in with the client’s own Google account
Even with invitations available, agency staff sometimes keep using the client’s own Google account. Then the user list and the change history show that one account, and you can’t trace a change to a person. YouTube Help’s advice on protecting a Google account says to “never share your email address and password information with others.” To switch to invitations:
- Invite each staff member’s own Google account at the level they need.
- Confirm each person can get in with their own account.
- Change the password of the client’s Google account, and don’t give the new one to the agency. Until it changes, anyone who knew it can still sign in.
Frequently asked questions
Should our agency get the GA4 Administrator role?
Analytics Help treats an account as data owned by one legal entity and suggests one account per company. Keep the account Administrator role with the client, and give the agency roles such as Editor on the properties it works on.
Can we give a web designer GA4 access without showing revenue?
Yes. Add the No Revenue Metrics data restriction to their role, and revenue values show as 0 in reports. No Cost Metrics hides ad costs the same way, and you can add both.
Who removes agency staff from GA4 when the contract ends?
An Administrator at the account level. Analytics Help reserves deleting users for that role, so the client's account admin removes them in Access Management.
Can a client take back a GA4 property we created in our account?
Yes, with your help. Moving a property needs the Administrator and Editor roles on both accounts. Choose to replace permissions with the destination account's, or your staff stay on the property.
Who should hold Publish access in Tag Manager?
Publishing is what makes changes live on the site. Edit and Approve can't publish, so the client can give the agency Edit or Approve and keep Publish in-house.
How Junify handles this
- Doing this by hand
- You agree with each client on how access is handed over, add and remove people platform by platform whenever staff change, and keep track of which staff member used which client's account.
- With Junify
- GA4 and Tag Manager invite each person, so use invitations there. Junify is for the client's social and ad accounts that your team still reaches with one shared login. Your admin adds that login to Junify, and staff sign in without seeing the password. Each use is recorded under the person's name. Agree with the client to change the password at setup so only Junify holds it. Then removing someone in Junify needs no new password from the client.
Sources
- Analytics Help: Access and data-restriction management
- Analytics Help: Add, edit, and delete users and user groups
- Analytics Help: [GA4] Organize your Google Analytics account
- Analytics Help: [GA4] Move a property
- Analytics Help: Link Google Ads to Google Analytics
- Analytics Help: View account and property change history
- Tag Manager Help: User permissions
- Tag Manager Help: Publishing, versions, and approvals
- YouTube Help: Recover a hijacked YouTube channel
-
Account clauses an agency should propose in its client contract
Propose five: account handover, who may use accounts, records, incident notice, and offboarding. Keep your own promises apart from what the client must do.
-
How to write client account handling into your agency's security policy
Write a short public policy, an internal policy for staff, and an access summary for each client. Rewrite template rules for logins the client owns.
-
Amazon Seller Central user permissions, and how to give an agency access
Seller Central Help says not to share logins. On a Professional plan, the seller invites staff as employees and authorizes your agency as a Service Provider.