Code Monkey home page Code Monkey logo

snowplow-gtm-custom-template-settings's Introduction

GTM Custom Template for JavaScript Tracker Settings

Overview

This is the Google Tag Manager custom template for the settings of the Snowplow Analytics JavaScript tracker.

The Snowplow Analytics Settings variable template is a template interface for building and bundling tracker settings to be used in the Snowplow Analytics tag template.

It has been designed to be used with the Snowplow Analytics custom tag template.

Quickstart

Work on the template should be done in Google Tag Manager's native template editor. This is to ensure the template has access to all the latest features of the template editor, and to make sure it passes GTM's own validation when exporting the changes.

To import the template into Google Tag Manager:

  1. In a Google Tag Manager web container (any container will do), browse to Templates and click to create a new template.
  2. From the template action menu, choose Import.
  3. Locate the template.tpl file from this repo, and import it into the template editor.

Make the changes you wish. Make sure the unit tests pass (in the Tests tab of the editor). Update the tests if necessary.

Once you're done, follow these steps:

  1. Save the template in the template editor.
  2. From the action menu, choose Export.
  3. Replace the template.tpl file in this repo with the exported file (make sure to keep template.tpl as its name)..
  4. Commit the changes to the template.tpl file.
  5. Copy the commit hash.
  6. Edit metadata.yaml in the template folder, and add the hash with its changeNotes as the latest version.
  7. Move the previous latest version into the list of Older versions.
  8. Save changes to metadata.yaml and commit them.
  9. Finally, push the changes to the repo (should include the commit to template.tpl and the commit to metadata.yaml).

After pushing the changes, Google Tag Manager should update the template in the community gallery within some hours to some days.

Find out more

Variable Template
il
Technical Docs

Copyright and license

Significant portions copyright 2020 Simo Ahava. Remainder copyright 2020-2022 Snowplow Analytics Ltd. All rights reserved.

Licensed under the [Apache License, Version 2.0][license] (the "License"); you may not use this software except in compliance with the License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

snowplow-gtm-custom-template-settings's People

Contributors

adatzer avatar sahava avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snowplow-gtm-custom-template-settings's Issues

Fix type of pageUnloadTimer property

Currently, the type of pageUnloadTimer property of the returned object is a string.
Even though this is handled in the v2 Tag, it creates a problem for a use case where the Settings variable may be used as a tracker initialization parameter e.g. in a custom HTML tag.
The problem is that the page freezes (consuming 100% cpu) because of string concatenation that will eventually happen in this line in JS Tracker v2 (which then makes this while loop not settle).
A quick solution to support this edge use case would be to fix this property's type to be an integer in the return value.

Template review feedback

Thanks for submitting a template to the gallery, there were a few issues in your template that needed to be resolved ahead of approving the template for the gallery.

  1. User instructions to install the template should direct users to install the gallery version of the template by clicking on the "Search Gallery" button in the template tab to add the gallery template.
  2. The documentation url shows "Page not found" error.
    Screenshot 2020-05-14 at 10 48 23 AM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.