Technical
JavaScript tag
Also called JS tracker.
JavaScript tag is a script included on a page that runs in the browser and sends measurement events to a collector. It is the usual way a site reports pageviews, clicks, and other actions.
How it is measured
View source for the `<script src=...>` element, or open the Network panel and find the file and the requests it makes. Note the load order (`defer` or `async`), the size in KB, and which domain serves it. A 45 KB tag on a slow phone adds a visible delay.
Count tag requests per page. One script and one event POST on load is the baseline. Anything more means the tag fires twice or a second tag sits in a container.
Worked example
A Hugo landing page loads a 62 KB vendor tag with `async` from a third-party host. Lighthouse flags 410 ms of main-thread time. Swapping it for a 1.5 KB first-party script loaded with `defer` cuts that to 12 ms, and largest contentful paint drops from 2.9 s to 2.4 s.
The recorded count also rises 6% that week, because the old vendor host sat on one popular blocker's list.
How it differs
A JavaScript tag is the code that runs and sends events. A tracking code is the paste-in fragment, the loader plus your site id, that brings that code onto the page. The snippet installs, and the tag does the work.
Common errors
Loading it synchronously in the head and blocking render. Installing the tag twice, once hard-coded and once through a tag manager. Placing it on only some templates. Letting it fire before consent. Serving it from a host that blockers already know. Ignoring its weight.
In practice
View source on your three busiest templates and count the tags. Remove duplicates, add `defer`, and compare the weight in the Network panel. Repeat after every theme or plugin update.