Googleの提供するタグマネージメントサービス(https://marketingplatform.google.com/intl/ja/about/tag-manager/)です。
タグとはCVしたら広告媒体へ情報を飛ばす、顧客がWebに訪問したらMAへ情報を飛ばすなど、外部へ情報を飛ばすためのJavaScriptのコードです。正確な定義はおそらく無いのですが、マーケティング業界では主に上記のようにマーケティング目的でWebサイトから外部システムにデータを飛ばすスクリプトをタグと慣習として呼んでいるような気がします。
このタグというものがなかなかやっかいで、多い場合は1サイトあたり数百のタグが仕込まれている場合があります。そのためこれらのタグを管理するためのマネジメントサービスとしてGTMがあります。
もちろんGTM以外にもタグマネージメントシステムはありますが、現状GTMが1強の世界と言っていいでしょう。
3大要素として「タグ」「トリガー」「変数」という3つの概念があります。このうち「タグ」と「トリガー」はわかりやすいです。
「タグ」とは例えばGAのタグ、広告媒体のCVタグのように実際にデータを飛ばすスクリプトそのものです。「トリガー」とは例えば、PV時に発火(タグが読み込まれることを発火という)、CV時に発火、すべてのページで発火、などタグが発火するタイミングを設定できます。
つまり、「タグ」と「トリガー」を設定すれば、”なんのタグ” が ”いつ”発火するかというルールを管理することが出来るのです。
「変数」は少し複雑な概念で初心者にはとっつきにくいかもしれません。基本的には必須ではなく、「タグ」や「トリガー」を補完するサポート役のようなイメージです。
例えばECサイトを例にタグで購買金額を外部システムに送信したいとします。
当然ですが、購買金額は人によって(より厳密に言えば購買単位で)異なります。そのため、購入完了画面から購買金額を変数に一度保存しておき、タグを発火する際にタグの送信内容として変数から値を取り出し、送信するという処理が必要となります。このようにある値を一時保存する箱のようなイメージを持っていただけると活用イメージが湧くかもしれません。
プログラミング経験者なら変数の利便性を感覚的につかむことが可能でしょうが、非エンジニアの方であれば一旦変数は後回しでいいと思います。重要なことは「タグ」「トリガー」ではどうにもならない時にふと「変数」の存在を思い出すと解決する可能性があるということを念頭に入れておくといいと思います。