rsnext/examples/with-google-tag-manager
Nick Babcock 5629223407
Update examples to use React 17 (#26133)
[With next 11 requiring react 17](https://nextjs.org/blog/next-11#upgrade-guide), most of the examples
need to be updated, so the following snippet updated all the examples to
a compatible react version.

```bash
cd examples/
fd -g 'package.json' | xargs sed -r -i 's/"react": ".*"/"react": "^17.0.2"/
fd -g 'package.json' | xargs sed -r -i 's/"react-dom": ".*"/"react-dom": "^17.0.2"/'

# exclude experimental react version
git checkout with-reason-relay/package.json
```
2021-06-16 16:43:26 +00:00
..
components fix: send url to gtm.pageview (#21747) 2021-02-03 15:28:25 +00:00
lib Update gtm.js (#20807) 2021-01-06 13:15:26 -05:00
pages example with-google-tag-manager (#20042) 2020-12-25 21:17:14 +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 example with-google-tag-manager (#20042) 2020-12-25 21:17:14 +00:00
package.json Update examples to use React 17 (#26133) 2021-06-16 16:43:26 +00:00
README.md Include utm_source on example links to vercel.com (#21305) 2021-01-19 07:28:54 +00: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 or Yarn to bootstrap the example:

npx create-next-app --example with-google-tag-manager with-google-tag-manager-app
# or
yarn 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).