Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentico/xperience-by-kentico-tag-manager

Enabling marketers to include prebuilt and custom tags into a website channel. Prebuilt are GTM, GA4, VWO, Intercom, MS Clarity
https://github.com/kentico/xperience-by-kentico-tag-manager

google-analytics google-tag-manager intercom microsoft-clarity vwo xperience-by-kentico xperience-by-kentico-integrations

Last synced: about 12 hours ago
JSON representation

Enabling marketers to include prebuilt and custom tags into a website channel. Prebuilt are GTM, GA4, VWO, Intercom, MS Clarity

Awesome Lists containing this project

README

        

# Xperience by Kentico Tag Manager

[![7-day bug-fix policy](https://img.shields.io/badge/-7--days_bug--fixing_policy-grey?labelColor=orange&logo=data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ic3ZnLWljb24iIHN0eWxlPSJ3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2ZpbGw6IGN1cnJlbnRDb2xvcjtvdmVyZmxvdzogaGlkZGVuOyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04ODguNDkgMjIyLjY4NnYtMzEuNTRsLTY1LjY3Mi0wLjk1NWgtMC4yMDVhNDY1LjcxNSA0NjUuNzE1IDAgMCAxLTE0NC4zMTUtMzEuMzM0Yy03Ny4wMDUtMzEuMTk4LTEyNi4yOTQtNjYuNzY1LTEyNi43MDMtNjcuMTA3bC0zOS44LTI4LjY3Mi0zOS4xODUgMjguNDY4Yy0yLjA0OCAxLjUwMS00OS45MDMgMzYuMDQ0LTEyNi45MDggNjcuMzFhNDQ3LjQyIDQ0Ny40MiAwIDAgMS0xNDQuNTIgMzEuMzM1bC02NS44NzcgMC45NTZ2Mzc4Ljg4YzAgODcuMDQgNDkuODM0IDE4NC42NjEgMTM3LjAxIDI2Ny44MSAzNy41NDcgMzUuODQgNzkuMjU4IDY2LjM1NSAxMjAuODMzIDg4LjIgNDMuMjggMjIuNzMzIDg0LjI0IDM0LjYxMiAxMTguODUyIDM0LjYxMiAzNC40MDYgMCA3NS43NzYtMTIuMTUyIDExOS42MDMtMzUuMTU4YTU0Ny45NzcgNTQ3Ljk3NyAwIDAgMCAxMjAuMDEzLTg3LjY1NCA1MTUuMjA5IDUxNS4yMDkgMCAwIDAgOTYuMTg4LTEyMi44OGMyNy4xMDItNDkuNTYyIDQwLjgyMy05OC4zMDQgNDAuODIzLTE0NC45OTlsLTAuMTM2LTM0Ny4yMDR6TTUxMC4wOSAxNDMuNDI4bDEuNzA2LTEuMzY1IDEuNzc1IDEuMzY1YzUuODAzIDQuMTY1IDU5LjUyOSA0MS44NDggMTQwLjM1NiA3NC43NTIgNzkuMTkgMzIuMDg2IDE1My42IDM1LjYzNSAxNjcuNjYzIDM2LjA0NWwyLjU5NCAwLjA2OCAwLjIwNSAzMTUuNzM0YzAuMTM3IDY5LjQ5NS00Mi41OTggMTUwLjE4Ni0xMTcuMDc3IDIyMS40NTdDNjQxLjU3IDg1NC4yODkgNTYzLjEzIDg5Ni40NzggNTEyIDg5Ni40NzhjLTIzLjY4OSAwLTU1LjU3LTkuODk5LTg5LjcwMi0yNy43ODVhNDc4LjgyMiA0NzguODIyIDAgMCAxLTEwNS42MDktNzcuMjc4QzI0Mi4yMSA3MjAuMjEzIDE5OS40NzUgNjM5LjUyMiAxOTkuNDc1IDU2OS44OVYyNTQuMjI1bDIuNzMtMC4xMzZjMy4yNzggMCA4Mi42MDQtMS41MDIgMTY3LjY2NC0zNS45NzdhNzM5Ljk0MiA3MzkuOTQyIDAgMCAwIDE0MC4yMi03NC42MTV2LTAuMDY5eiIgIC8+PHBhdGggZD0iTTcxMy4zMTggMzY4LjY0YTMyLjIyMiAzMi4yMjIgMCAwIDAtNDUuMzI5IDBMNDQ5LjE5NSA1ODcuNDM1bC05My4xODQtOTMuMTE2YTMyLjIyMiAzMi4yMjIgMCAwIDAtNDUuMzMgMCAzMi4yMjIgMzIuMjIyIDAgMCAwIDAgNDUuMjZsMTE1Ljg1IDExNS44NWEzMi4yOSAzMi4yOSAwIDAgMCA0NS4zMjggMEw3MTMuMzIgNDEzLjlhMzIuMjIyIDMyLjIyMiAwIDAgMCAwLTQ1LjMzeiIgIC8+PC9zdmc+)](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) [![CI: Build and Test](https://github.com/Kentico/xperience-by-kentico-tag-manager/actions/workflows/ci.yml/badge.svg)](https://github.com/Kentico/xperience-by-kentico-tag-manager/actions/workflows/ci.yml) [![NuGet Package](https://img.shields.io/nuget/v/Kentico.Xperience.TagManager.svg)](https://www.nuget.org/packages/Kentico.Xperience.TagManager)

## Description

Tag Manager integration enabling marketers to include prebuilt and custom tags into a website channel. By default we provide support for the following tags:

- Google Tag Manager
- Google Tag Manager is the standard for implementing front-end services, marketing and tracking tags to a website. This integration makes it easy to include Google Tag Manager into your website to leverage andvanced tag setup.
- [Integration information and installation guide](./docs/Google-Tag-Manager.md)
- [Google Tag Manager homepage](https://tagmanager.google.com/)
- Google Analytics 4
- Google Analytics 4 lets you track users on your website. The default installation enables pageview tracking and basic events.
- [Integration information and installation guide](./docs/Google-Analytics-4.md)
- [Google Analytics homepage](https://tagmanager.google.com/)
- Microsoft Clarity recordings and heatmaps
- Microsoft Clarity lets you record user sessions, generate heatmaps, scrollmaps and further analyze your website users. The service is completely free.
- [Integration information and installation guide](./docs/Microsoft-Clarity.md)
- [Microsoft Clarity homepage](https://clarity.microsoft.com/)
- VWO A/B Testing
- VWO lets you optimize digital experiences and maximize conversions using their suite of tools. This integration is focusing on front-end A/B testing capability. It installs VWO SmartCode into your wesite
- [Integration information and installation guide](./docs/VWO.md)
- Visit [VWO homepage](https://vwo.com/) to learn more about the product
- Intercom Messenger
- Intercom offers a suite of tools to promising they are "The only AI customer service solution you need". The focus of this integration is their Messenger allowing you to communicate with customers live through your website.
- [Integration information and installation guide](./docs/Intercom.md)
- [Intercom homepage](https://www.intercom.com)
- Custom HTML Snippet
- Whenever you need to copy and paste a simple code snippet form another service into your website.
- Custom Tag Module
- When the site admin wants to enable a new pre-defined code snippet to be used by marketers.
- [Integration information and installation guide](./docs/Creating-custom-module.md)

## Screenshots

![UI Application](/images/screenshots/ui_application.png)

![Custom tags listing](/images/screenshots/listing.png)

![Create GTM tag snippet](/images/screenshots/create_snippet.png)

![Create custom code snippet](/images/screenshots/create_custom_snippet.png)

## Library Version Matrix

| Xperience Version | Library Version |
| ----------------- | --------------- |
| >= 30.0.0 | >= 4.0.0 |
| >= 29.0.0 | >= 3.0.0 |
| >= 28.3.1 | >= 2.0.0 |
| >= 28.1.0 | >= 1.0.0 |

### Dependencies

- [ASP.NET Core 6.0](https://dotnet.microsoft.com/en-us/download)
- [Xperience by Kentico](https://docs.xperience.io/xp/changelog)

## Package Installation

Add the package to your application using the .NET CLI

```powershell
dotnet add package Kentico.Xperience.TagManager
```

## Quick Start

1. Include `Kentico.Xperience.TagManager` project in the solution.

```powershell
dotnet add package Kentico.Xperience.TagManager
```

2. Register required services into DI container.

```csharp
// Program.cs

var builder = WebApplication.CreateBuilder(args);

// ...

builder.Services.AddKenticoTagManager(builder.configuration);
```

3. In the administration go to UI application 'Tag Management'.
4. Create a new record:
- Fill in a tag name
- Select one of the channels.
- Select whether you want to use Custom Code Snippet or other Snippet type
- We have prepared some of the most often used types:
- For
- 'Google Tag Manager',
- 'Google Analytics 4',
- 'VWO',
- 'Intercom',
- 'Microsoft Clarity',
- or Your own type
- select one of these options from the Snippet type dropdown
- For 'Custom code snippet' fill in entire code you want to render.
- Select a location:
- Top of the head - inserts a script immediately after the opening head tag.
- Bottom of the head - inserts a script right before the closing head tag.
- Top of the body - inserts a script immediately after the opening body tag.
- Bottom of the body - inserts a script right before the closing body tag.
- Select tag location within the rendered page HTML
- Fill in a consent if required.
- Check 'Enable tag rendering' to activate the tag or uncheck to deactivate
- Select whether you want to display tags in the Xperience administration preview or Page Builder, or both. This option defaults to None.
5. During rendering the livesite page, the Tag manager module automatically adds custom code snippets with accepted consents to defined locations.
6. To dynamically update the rendered code snippets, for example if a consent is accepted, call javascript function `window.xperience.tagManager.updateCodeSnippets()`.

## Continuous Deployment configuration

If you use the [Continuous Deployment](https://docs.kentico.com/x/YgaiCQ) feature to deploy data to an environment with Xperience by Kentico Tag Manager, you may need to adjust your *repository.config* [configuration file](https://docs.kentico.com/x/ygAcCQ). The Tag Manager works with the following object types:

* `kenticotagmanager.channelcodesnippet`
* `kenticotagmanager.channelcodesnippetitem`

Running the CD restore (with `` set to `Full`) removes any Tag Manager scripts that exist on the target instance, but are not included in the CD data.

You can prevent this issue by adding excluded object types to your *repository.config* file, for example:

```

kenticotagmanager.channelcodesnippet
kenticotagmanager.channelcodesnippetitem

```

With this configuration, the Tag Manager script object types are ignored by CD, and can only be managed directly on the target instance (for example your production environment).

## Contributing

To see the guidelines for Contributing to Kentico open source software, please see [Kentico's `CONTRIBUTING.md`](https://github.com/Kentico/.github/blob/main/CONTRIBUTING.md) for more information and follow the [Kentico's `CODE_OF_CONDUCT`](https://github.com/Kentico/.github/blob/main/CODE_OF_CONDUCT.md).

Instructions and technical details for contributing to **this** project can be found in [Contributing Setup](./docs/Contributing-Setup.md).

## License

Distributed under the MIT License. See [`LICENSE.md`](./LICENSE.md) for more information.

## Support

[![7-day bug-fix policy](https://img.shields.io/badge/-7--days_bug--fixing_policy-grey?labelColor=orange&logo=data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ic3ZnLWljb24iIHN0eWxlPSJ3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2ZpbGw6IGN1cnJlbnRDb2xvcjtvdmVyZmxvdzogaGlkZGVuOyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04ODguNDkgMjIyLjY4NnYtMzEuNTRsLTY1LjY3Mi0wLjk1NWgtMC4yMDVhNDY1LjcxNSA0NjUuNzE1IDAgMCAxLTE0NC4zMTUtMzEuMzM0Yy03Ny4wMDUtMzEuMTk4LTEyNi4yOTQtNjYuNzY1LTEyNi43MDMtNjcuMTA3bC0zOS44LTI4LjY3Mi0zOS4xODUgMjguNDY4Yy0yLjA0OCAxLjUwMS00OS45MDMgMzYuMDQ0LTEyNi45MDggNjcuMzFhNDQ3LjQyIDQ0Ny40MiAwIDAgMS0xNDQuNTIgMzEuMzM1bC02NS44NzcgMC45NTZ2Mzc4Ljg4YzAgODcuMDQgNDkuODM0IDE4NC42NjEgMTM3LjAxIDI2Ny44MSAzNy41NDcgMzUuODQgNzkuMjU4IDY2LjM1NSAxMjAuODMzIDg4LjIgNDMuMjggMjIuNzMzIDg0LjI0IDM0LjYxMiAxMTguODUyIDM0LjYxMiAzNC40MDYgMCA3NS43NzYtMTIuMTUyIDExOS42MDMtMzUuMTU4YTU0Ny45NzcgNTQ3Ljk3NyAwIDAgMCAxMjAuMDEzLTg3LjY1NCA1MTUuMjA5IDUxNS4yMDkgMCAwIDAgOTYuMTg4LTEyMi44OGMyNy4xMDItNDkuNTYyIDQwLjgyMy05OC4zMDQgNDAuODIzLTE0NC45OTlsLTAuMTM2LTM0Ny4yMDR6TTUxMC4wOSAxNDMuNDI4bDEuNzA2LTEuMzY1IDEuNzc1IDEuMzY1YzUuODAzIDQuMTY1IDU5LjUyOSA0MS44NDggMTQwLjM1NiA3NC43NTIgNzkuMTkgMzIuMDg2IDE1My42IDM1LjYzNSAxNjcuNjYzIDM2LjA0NWwyLjU5NCAwLjA2OCAwLjIwNSAzMTUuNzM0YzAuMTM3IDY5LjQ5NS00Mi41OTggMTUwLjE4Ni0xMTcuMDc3IDIyMS40NTdDNjQxLjU3IDg1NC4yODkgNTYzLjEzIDg5Ni40NzggNTEyIDg5Ni40NzhjLTIzLjY4OSAwLTU1LjU3LTkuODk5LTg5LjcwMi0yNy43ODVhNDc4LjgyMiA0NzguODIyIDAgMCAxLTEwNS42MDktNzcuMjc4QzI0Mi4yMSA3MjAuMjEzIDE5OS40NzUgNjM5LjUyMiAxOTkuNDc1IDU2OS44OVYyNTQuMjI1bDIuNzMtMC4xMzZjMy4yNzggMCA4Mi42MDQtMS41MDIgMTY3LjY2NC0zNS45NzdhNzM5Ljk0MiA3MzkuOTQyIDAgMCAwIDE0MC4yMi03NC42MTV2LTAuMDY5eiIgIC8+PHBhdGggZD0iTTcxMy4zMTggMzY4LjY0YTMyLjIyMiAzMi4yMjIgMCAwIDAtNDUuMzI5IDBMNDQ5LjE5NSA1ODcuNDM1bC05My4xODQtOTMuMTE2YTMyLjIyMiAzMi4yMjIgMCAwIDAtNDUuMzMgMCAzMi4yMjIgMzIuMjIyIDAgMCAwIDAgNDUuMjZsMTE1Ljg1IDExNS44NWEzMi4yOSAzMi4yOSAwIDAgMCA0NS4zMjggMEw3MTMuMzIgNDEzLjlhMzIuMjIyIDMyLjIyMiAwIDAgMCAwLTQ1LjMzeiIgIC8+PC9zdmc+)](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support)

This project has **Full support by 7-day bug-fix policy**.

See [`SUPPORT.md`](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) for more information.

For any security issues see [`SECURITY.md`](https://github.com/Kentico/.github/blob/main/SECURITY.md).