The GTM Tools by Simo Ahava is a Google Sheets add-on. It lets you manage and update your Google Tag Manager containers, tags, triggers, and variables.

In this first iteration, the tools feature a Documentation builder, which lets you automatically generate documentation for the latest version of your Google Tag Manager container, tags, triggers, and variables. In addition to this, the toolset features a Push changes to Notes functionality, which lets you automatically mass update the Notes field across your tags, triggers, and variables.

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 “GTM Tools by Simo Ahava” 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 Tag Manager data, and read and write access to your Google Sheets account.

You are then ready to use the tool!

Build documentation

You should see the GTM Tools by Simo Ahava 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.

When you click Build documentation, the add-on will prompt you for a Google Tag Manager account and container. The list will include all containers your current logged in Google user ID has access to. Once you’ve selected a container, click Build to start the process.

The builder creates four new sheets: one for your container version, and one each for your tags, triggers, and variables.

As you can see, each sheet is prefixed with the container ID.

Each sheet will contain useful information about your container, based on the Latest version of your container. If no version has been created yet, the documentation builder will not work.

Never rename these default sheets created by the tool! They are necessary for the add-on to work.

Mark changes to Notes

The next thing you can do is manually edit the Notes field of the tags, triggers, and variables sheets. You can edit or create notes entries for each item, if you wish.

Once you’ve made all the changes to the Notes fields (changes to other fields are ignored, and you should NEVER, EVER, modify the JSON column), choose Mark changes to Notes in the add-on menu. A new dialog opens.

When you click Mark changes, the tool will go through all the tag, trigger, and variable documentation sheets, and highlight each field that diverges from the latest version. This is to give you a visual clue of which fields have changed values within.

The dialog will also tell you how many fields were highlighted as a result.

Push changes to Notes

Once you’ve made changes to the notes fields, you can push these changes to a GTM container. The container is automatically selected based on the sheet you have active in Google Sheets. So if you have active one of the documentation sheets prefixed for GTM-XXXXX-X, then that will be used as the target container for the push. If you have selected one of the sheets prefixed with GTM-YYYYY-Y, then that will be used, etc.

See the screenshot at the beginning of this article for an example of what the modal looks like when you have a valid sheet selected.

Once you click PUSH CHANGES, the tool will update all the tags, triggers, and variables in the sheets for this container, modifying the notes field of each to match the changes you made. The changes will be done in the workspace you chose using the selector in the modal.

When the push is complete, the modal will inform you how many changes were made. You can also click a link in the modal to have the tools create a new container version of the workspace you just updated.

This is at your own risk. If the workspace doesn’t validate, it will result in an error. Note that all changes in the workspace will be included in the new version.

After you’ve pushed the changes, you should really create a new version as soon as possible. Otherwise the documentation will always interpret the changes to the notes to be new changes, because they are always compared against the latest container version.

When a new version has been created, you should always re-run Build documentation.

When rebuilding the documentation, the add-on will always show the following prompt if a sheet has already been created by the tool. You will have the option of overwriting the sheet or skipping it in the documentation build process. Unless you’ve made some manual changes to the sheets generated by the documentation (I’d recommend against this), it’s a good idea to always allow the add-on to overwrite the sheets’ contents with the data from the latest version of the container.

Words of caution

For the add-on to work properly, follow the following guidelines:

  • Never edit the sheet names - it’s imperative that the sheets use the default names created by the add-on

  • Never delete or modify the named ranges created by the add-on

  • Never edit values in the JSON column

Changing other column values than Notes will not do anything. At some point I might add the option to mass update the other fields, too.

Privacy Policy

What information do you collect?

The GTM Tools by Simo Ahava add-on collects no information from its users. It is an API tool used for managing and updating Google Tag Manager containers, tags, triggers, and variables.

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.