The Custom Dimension Manager For Google Analytics is a Google Sheets add-on. It lets you update Custom Dimensions in any given Google Analytics property en masse.

When updating, new dimensions are created automatically with values from a source data sheet (or using a default value if no value is specified), and for existing dimensions you have the choice to update or skip. The add-on is completely free to use. It’s a hobby project, but I would still welcome any feedback. You can send the feedback to simo (at)


Mr. Pedro Ávila from Google published in 2015 a very similar Google Sheets extension. His extension and mine serve a very similar purpose, and since I did read Pedro’s article when it was released, the work he did for his extension has certainly inspired the work I put into mine, even if both extensions were developed completely independently and have a completely different codebase.

I recommend checking out Pedro’s work in the dedicated GitHub repo, and you can download his extension from this link.

How to get it

In Google Sheets, open the Add-ons menu, and click Get add-ons.

You should see the Chrome web store window open. Enter “google analytics custom dimension manager” into the search field and press Enter. You should see the add-on appear in the search results. Click the + FREE button. You will be asked to sign in with your Google ID, and then approve the add-on access to your data. The add-on requires read and write access to your Google Analytics management data, and read and write access to your Google Sheets account.

You are then ready to use the tool!

GitHub repo

You can download the open-source code from the GitHub repo: ga-custom-dimension-manager.

How it works

You should see the Custom Dimension Manager For Google Analytics menu item in the Add-ons menu. You might need to reload the page if it isn’t there, or if it seems to be missing all its menu items.

First, click on 1. Build/reformat Source Data sheet. This creates a new sheet named “Source Data”. It is populated with Custom Dimensions from 1-200, as well as a row where you can set the default value for empty rows. For each dimension, you can now write the name, scope (HIT or PRODUCT or SESSION or USER), and active status (true or false). If you leave a row empty, the tool will use what you specified in the “DEFAULT/EMPTY” row.

If the sheet already existed, the tool only updates the header and the dimension ID column.

Once you’re done, click on 2. Manage Custom Dimensions in the menu. You’ll see a dialog open, where you need to choose the property whose dimensions to update. Note the warning. To UPDATE a Custom Dimension, only EDIT access to the Property is needed. To CREATE a new Custom Dimension, EDIT access is required for both Account and Property.

Once you’ve selected the Property to update, you’ll need to also choose whether to update only dimensions 1-20, or whether to update all the dimensions (1-200). The latter option only works with Google Analytics 360 accounts, so be mindful of that when working with the tool.

When you’re ready, press START, and the tool will instantly begin to update/create the Custom Dimensions based on the Source Data sheet.

Three things can happen now.

  1. If the dimension to be updated already exists, and its values differ from those in the Source Data sheet, you have the choice to either UPDATE your Google Analytics data with that from the Source Data, or you can SKIP this dimension, not making any changes to GA.

  2. If the dimension to be updated already exists, but it has identical values to those in the Source Data sheet, the dimension is automatically skipped.

  3. If the dimension to be updated doesn’t exist yet, it is automatically created with the values from the Source Data sheet.

Once the process is over, the tool will inform you of this, and you can visit Google Analytics to check if the dimensions were created properly.

Privacy Policy

What information do you collect?

The Google Analytics Custom Dimension Manager collects no information from its users. It is an API tool used for managing and updating Custom Dimensions in the user’s Google Analytics account and property hierarchy.

The only thing the add-on logs is the generic Google Cloud Console API usage statistics, which tells the owner how much the enabled APIs are being used, but this data cannot be used to identify users or individual use patterns.

How do you use the information?

No user or usage information is used. The only thing the owner monitors is API usage, so that it can be determined if quotas need to be increased to ensure the tool works smoothly.

What information do you share?

No information is shared with third parties, with other users, with analytics tools, with marketing partners, or any other party.

Terms of Service

Terms of Service (“Terms”)

Last updated: October 30, 2018

Please read these Terms of Service (“Terms”, “Terms of Service”) carefully before using the Custom Dimension Manager For Google Analytics extension (the “Service”) operated by Simo Ahava (“us”, “we”, or “our”).

Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.

By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.

Our Service may contain links to third-party web sites or services that are not owned or controlled by us.

We have no control over, and assume no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that we shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.

We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit.

Governing Law

These Terms shall be governed and construed in accordance with the laws of Finland, without regard to its conflict of law provisions.

Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service.


We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.

By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service.

Contact Us

If you have any questions about these Terms, please contact us.