A tracking request can sound simple: measure when someone exports a report. In Google Tag Manager, that request becomes several connected settings. Changing the wrong setting can send the wrong value or count the wrong action.
The useful distinction is between the action a tag performs, the condition that starts it, and the values it reads. This guide uses one hypothetical CSV export to connect those parts. It assumes a web container is installed and the existing Google Analytics destination is configured.
Give each component one job
A tag performs an action. For example, a GA4 Event tag sends a named event and its parameters to Google Analytics. A trigger defines when that tag should run. A variable supplies a value that a tag or trigger needs.
These settings live in a container. Installing the container lets the website load its configuration. It does not tell GTM what a successful report export means. The website must expose a suitable signal, or the implementation must detect one.
Google’s guide to GTM components explains this relationship. A useful planning question follows from it: what action should happen, under which conditions, using which values?
For the example, the requirement is precise: send report_export to GA4 after a CSV report is successfully generated. Exclude PDF exports and failed attempts. A click on the Export button is insufficient because generation can fail after the click.
Read a value with a variable
Assume the application sends a data layer message with event set to report_exported and export_format set to csv. Both values belong in the message for the completed export. These are example names, not a Google event standard or a description of an actual client implementation.
Create a user-defined variable named DLV - export_format. Choose Data Layer Variable, enter export_format as the Data Layer Variable Name, and use Version 2. Leave the default value unset so a missing value remains visible during testing.
