No description
Find a file
José Fernando Höwer Barbosa 268dd6e80b
Simplify with-google-analytics example (#43894)
<!--
Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change that you're making:
-->
## Documentation / Examples

- [x] Make sure the linting passes by running `pnpm build && pnpm lint`
- [x] The "examples guidelines" are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)

First of all thanks for this amazing project and all the help you
provide with these examples.

It seems there is code duplication in this example. After some tests
locally seem to _document.js is not necessary for `gtag` to work
properly.


9d97a1e34a/examples/with-google-analytics/pages/_app.js (L30-L34)


9d97a1e34a/examples/with-google-analytics/pages/_document.js (L13-L17)

I am aware of https://github.com/vercel/next.js/pull/40645 and I would
like to ask @dave-hay, @SukkaW and @ijjk to consider this is still
necessary. If so why then not move all content of the scripts from _app
to _document?

In any case, I am open to adding here some comments explaining what is
the reason for this code duplication if necessary.

<hr/>

Changes that come from  https://github.com/vercel/next.js/pull/43897

1. The `event` hashChangeComplete should be removed since `/home` and
`/home/#section` is not new pageview, but just reference to the same
page.

If we go from /home to /home/#section (with a button click or a link for
example) this shouldn't trigger a new page visit on `gtag`.

For this reason, I think we should revert the changes from
https://github.com/vercel/next.js/pull/36079. If there is a better
argument of why this should stay I am also open to creating comments to
clarify this on the example since I don't think should be the default
behavior and not useful in most cases.

2. The `id="gtag-init"` was added with no context to the example from
https://github.com/vercel/next.js/pull/29530

If there is a reason for this id in the script to existing I am open to
adding a comment that clarifies this since in my experience is not
necessary at all.


Edit: Batching with https://github.com/vercel/next.js/pull/43897 as
recommended by
https://github.com/vercel/next.js/pull/43897#issuecomment-1344635000

---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2023-02-07 14:58:52 -08:00
.devcontainer Remove devcontainer network host argument (#44157) 2022-12-19 16:38:20 -08:00
.github migrate from yarn to pnpm (#45652) 2023-02-07 15:29:49 +00:00
.husky Replace pre-commit with husky (#38350) 2022-07-06 11:14:16 -05:00
.vscode Enable file nesting for unit test files in vscode (#45329) 2023-01-28 14:56:56 +01:00
bench fix typo in comment and unused variable remove (#45307) 2023-02-02 14:55:23 -08:00
contributing Update testing.md to reflect that we don't use yarn anymore (#45185) 2023-01-23 14:41:42 -08:00
docs [ESLint] Add app dir to default linting directories (#44426) 2023-02-07 13:53:46 -08:00
errors Update react-hydration-error.md (#43671) 2023-02-07 22:38:03 +00:00
examples Simplify with-google-analytics example (#43894) 2023-02-07 14:58:52 -08:00
packages Fix directive parsing in SWC (#45671) 2023-02-07 23:48:15 +01:00
scripts fix typo in comment and unused variable remove (#45307) 2023-02-02 14:55:23 -08:00
test Skip prefetching for bots in app-router too (#45678) 2023-02-07 14:15:10 -08:00
.alexignore Enable Alex documentation linting for docs (#26598) 2021-06-25 11:40:50 -05:00
.alexrc Add section to next/future/image docs about Known Browser Bugs (#39759) 2022-08-20 00:21:00 +00:00
.eslintignore refactor: Latest Tigris sdk and example using decorators (#44256) 2023-01-18 20:44:18 -08:00
.eslintrc.json Replace eslint rule for no-shadow with typescript-eslint/no-shadow (#44936) 2023-01-16 16:02:59 -08:00
.gitattributes the way towards webpack 5 typings (#29105) 2021-09-21 19:17:16 +02:00
.gitignore Fix turbo usage in tests (#44715) 2023-01-18 20:35:28 +01:00
.npmrc declare pnpm7 as engine (#37303) 2022-05-30 13:13:36 +00:00
.prettierignore hmr error improvements (#30616) 2023-01-06 20:35:16 +01:00
.prettierignore_staged hmr error improvements (#30616) 2023-01-06 20:35:16 +01:00
.prettierrc.json Prettier trailingComma default value to es5 since 2.0 (#14391) 2020-06-22 13:25:24 +02:00
azure-pipelines.yml Update to latest version of pnpm (#44791) 2023-01-11 17:36:52 -08:00
CODE_OF_CONDUCT.md updated code of conduct to v2.1 (#34208) 2022-02-10 18:11:42 -06:00
contributing.md refactor: split up CONTRIBUTING.md (#40515) 2022-09-16 14:54:58 -07:00
jest.config.js Allow unit tests to be written in packages/next/src (#45222) 2023-01-24 14:32:09 +00:00
jest.replay.config.js Add Replay integration for dev e2e tests (#40955) 2022-09-29 14:45:10 -07:00
lerna.json v13.1.7-canary.7 2023-02-06 18:12:32 -08:00
license.md Update license year (#44403) 2023-01-01 11:12:49 +01:00
lint-staged.config.js Run dev tests against default CNA templates (#45211) 2023-01-24 11:01:03 -08:00
package.json Update app dir react for client reference updates (#45490) 2023-02-07 19:32:49 +01:00
plopfile.js Revert "Fix new-error command" (#45221) 2023-01-24 16:47:48 -08:00
pnpm-lock.yaml Update app dir react for client reference updates (#45490) 2023-02-07 19:32:49 +01:00
pnpm-workspace.yaml misc: add benchmarking script for edge rendering (#40716) 2022-09-27 17:57:16 +02:00
readme.md Monorepo (#5341) 2018-10-01 01:02:10 +02:00
release.js Fix labels for release sections 2021-11-21 13:11:54 +01:00
run-tests.js Clean up CI logs (#45171) 2023-02-02 15:46:17 +00:00
test-file.txt Add additional file serving tests (#12479) 2020-05-04 11:58:19 -05:00
tsconfig-tsec.json Integrate tsec into the linting process (#33746) 2022-02-24 16:59:18 -08:00
tsconfig.json Adds tests to ensure eslint-plugin-next's available rules are properly exported and recommended rules are correctly defined. (#38183) 2022-06-30 11:31:33 -05:00
tsec-exemptions.json Move core files to src folder and move JS files to TypeScript (#44405) 2023-01-03 10:05:50 +01:00
turbo.json Fix turbo cache miss due to depending on gitignored files (#45166) 2023-01-24 11:53:07 +00:00
UPGRADING.md Move upgrading guide to /docs (#10727) 2020-02-28 23:46:18 +01:00
vercel.json Silence GH Comments for Preview URLs (#18766) 2020-11-03 21:59:47 +00:00

Next.js

Getting Started

Visit https://nextjs.org/learn to get started with Next.js.

Documentation

Visit https://nextjs.org/docs to view the full documentation.

Who is using Next.js?

Next.js is used by the world's leading companies. Check out the Next.js Showcase to learn more.

Community

The Next.js community can be found on GitHub Discussions, where you can ask questions, voice ideas, and share your projects.

To chat with other community members you can join the Next.js Discord.

Our Code of Conduct applies to all Next.js community channels.

Contributing

Please see our contributing.md.

Good First Issues

We have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

Authors

Security

If you believe you have found a security vulnerability in Next.js, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports. Email security@vercel.com to disclose any security vulnerabilities.

https://vercel.com/security