rsnext/examples/with-google-tag-manager
Henrik Wenz 64a3697d05
[Docs] Update examples to favour functional _document (#39871)
## Changes

- Migrate class based `_document`s to functional documents 
- Removed `_document.js` where default
- Removed `MyDocument.getInitialProps` where default

## Motivation

This removes some boilerplate and prepares examples for server components.

## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm lint`
- [x] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-08-23 18:52:31 +00:00
..
lib Update gtm.js (#20807) 2021-01-06 13:15:26 -05:00
pages [Docs] Update examples to favour functional _document (#39871) 2022-08-23 18:52:31 +00:00
public example with-google-tag-manager (#20042) 2020-12-25 21:17:14 +00:00
.env.local.example example with-google-tag-manager (#20042) 2020-12-25 21:17:14 +00:00
.gitignore Update default gitignore templates (#39051) 2022-07-26 20:08:40 -05:00
package.json Remove licence from all example/package.json that has them (#28007) 2021-08-14 10:48:39 -05:00
README.md docs(examples): improve DX while copying command to create new project (#38410) 2022-07-26 21:57:48 -05:00

Example app using Google Tag Manager

This example shows how to use Next.js along with Google Tag Manager. pages/_document.js is used to inject base code. pages/_app.js is used to track route changes and send page views to Google Tag Manager.

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:

npx create-next-app --example with-google-tag-manager with-google-tag-manager-app
yarn create next-app --example with-google-tag-manager with-google-tag-manager-app
pnpm create next-app --example with-google-tag-manager with-google-tag-manager-app

Next, copy the .env.local.example file in this directory to .env.local (which will be ignored by Git):

cp .env.local.example .env.local

Set the NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID variable in .env.local to match your Google Tag Manager ID.

Deploy it to the cloud with Vercel (Documentation).