なぜほとんどのメールキャンペーンでUTMトラッキングが壊れているのか
Litmusの「2025 State of Email」レポートによると、メールマーケティングは1ドルの投資に対して36ドルの収益を生み出します。ただし、それは業界平均の話です。あなた自身のROIはどうでしょう?おそらく正確には把握できていないはずです。メールのUTMトラッキングが一貫していないか、不完全か、あるいは完全に間違っているからです。
昨年、KlaviyoでDTCブランドのUTMデータを監査しました。そのブランドのメールトラフィックにはutm_sourceの値が14種類も存在していました。email、Email、klaviyo、Klaviyo、newsletter、Newsletter、email_marketing、e-mail、そして6種類のさらに独創的なスペルです。GA4はそのすべてを別々のソースとして扱いました。「メールチャネル」のパフォーマンスは獲得レポートの十数行に分散し、チームの誰もそれに気づいていませんでした。
修正方法は単純です。ただし、使用するプラットフォームによって具体的な対応が異なります。Mailchimp、Klaviyo、HubSpot、eSputnikはそれぞれUTMパラメータの扱い方が違い、固有の注意点があります。
メール用UTMパラメータの正しい構造とは
メールに使うutm_mediumの正解はemailです。e-mailでもnewsletterでもEmailでもe_mailでもありません。小文字のemail一択です。GA4のデフォルトチャネルグルーピングは、utm_mediumがemailと完全一致したときにトラフィックを「Email」チャネルに分類します。少しでも違うと「Unassigned(未分類)」になります。
あらゆるメールプラットフォームで使えるテンプレートはこちらです。
utm_source={esp_name}
utm_medium=email
utm_campaign={campaign_slug}
utm_content={link_description}
Mailchimpの週次ニュースレターの実例:
utm_source=mailchimp
utm_medium=email
utm_campaign=weekly_digest_2026-04-21
utm_content=hero_cta
Klaviyoの放棄カートフローの実例:
utm_source=klaviyo
utm_medium=email
utm_campaign=abandoned_cart_reminder_1
utm_content=product_image
utm_sourceはプラットフォーム名であり、「email」ではありません。「email」はutm_mediumの役割です。この混同こそが、メールUTMにおける最も多いミスで、私がレビューしたメールUTM文字列の約40%がここで間違えています。クリーンシグナルメソッドの「ソースはプラットフォームを意味する」という原則は明確です。utm_sourceは「誰が」トラフィックを送ったかを答え、utm_mediumは「どのように」を答えます。
| フィールド | 何を入れるか | 何を入れてはいけないか |
|---|---|---|
utm_source | mailchimp、klaviyo、hubspot、esputnik | email、newsletter、e-mail |
utm_medium | email | プラットフォーム名、キャンペーン名 |
utm_campaign | キャンペーンスラッグ:spring_sale_2026、weekly_digest_04 | 汎用的な「email」や文章 |
utm_content | リンク識別子:hero_cta、footer_link、product_card_2 | キャンペーン名の繰り返し |
utm_term | 任意:オーディエンスセグメント vip_customers、churned_30d | キーワード(それは検索広告用) |
ヒント:UTM Generatorには「ダイレクトメッセージ(メール/SMS)」プリセットがあり、
utm_medium=emailを自動入力し、主要なESPごとに推奨ソース値を表示します。「
MailchimpでUTMトラッキングを設定する方法
Mailchimpにはすべてのリンクに自動でパラメータを付与する組み込みのUTMトラッキング機能があります。落とし穴は、MailchimpのデフォルトのUTM値がGA4のベストプラクティスに沿っていないことです。
キャンペーンで「Googleアナリティクスリンクトラッキング」を有効にすると、Mailchimpは以下を付与します。
utm_source=mailchimp
utm_medium=email
utm_campaign={settings_campaign_name}
これで3つのパラメータです。utm_contentはなく、ニュースレター内の6リンクのうちどれをクリックしたかは分かりません。
より良い方法——手動でUTMを上書きする:
- キャンペーンビルダーで設定とトラッキングに移動
- 「Googleアナリティクスリンクトラッキング」のチェックを外す(自動付与を無効化)
- メール本文の各リンクに直接UTMパラメータを追加する
または、utm_sourceとutm_mediumの自動トラッキングはオンにしたまま、個々のリンクに手動でutm_contentを追加してリンクを区別する方法もあります。
https://yoursite.com/sale?utm_source=mailchimp&utm_medium=email&utm_campaign=spring_promo_2026&utm_content=hero_button
https://yoursite.com/sale?utm_source=mailchimp&utm_medium=email&utm_campaign=spring_promo_2026&utm_content=footer_text_link
Intuitの2025年年次報告書によると、Mailchimpのアクティブユーザーは約1,100万人います。そのほとんどがデフォルトの自動トラッキングに頼り、utm_contentを追加することはありません。つまり、ヒーローCTA、サイドバーバナー、フッターリンクのどれがコンバージョンを生んだかを判別できていないのです。
Mailchimpのマージタグを使う場合、*|CAMPAIGN_UID|*をutm_idとして使うとキャンペーン名を変更しても壊れない安定した識別子を得られます。
KlaviyoはUTMパラメータをどう扱うか
KlaviyoはデフォルトですべてのトラッキングリンクにUTMパラメータを付与します。しかもほとんどのESPよりうまくやっています。Klaviyoが標準で追加する内容:
utm_source=klaviyo
utm_medium=email
utm_campaign={campaign_or_flow_name}
Klaviyoはキャンペーン名を自動的にスラッグ化します。スペースは+記号になり、プラットフォームで設定した名前が使われます。これはだいたい問題ないのですが、URLにおける+のエンコーディングはブラウザや解析ツールによって挙動が異なります。スペースとして解釈するものと、文字通り保持するものがあります。
カスタマイズできる場所:
- キャンペーン: キャンペーン → 設定 → UTMトラッキングセクション
- フロー: フロー内の各メールには、そのメールの設定タブ内に独自のUTM設定があります
Klaviyoはutm_contentを自動生成しません。リンクごとに手動で追加する必要があります。
?utm_source=klaviyo&utm_medium=email&utm_campaign=abandoned_cart_step_1&utm_content=return_to_cart_button
**Klaviyo固有のヒント:**フローではutm_campaignにフローステップを含めましょう。3通の放棄カートシーケンスならabandoned_cart_step_1、abandoned_cart_step_2、abandoned_cart_step_3とします。これがないと3通すべてが同じキャンペーンに帰属し、どのリマインダーが実際にコンバージョンしたか分かりません。
Klaviyoの2025年ベンチマークデータによると、放棄カートフローのコンバージョン率は平均3.33%です。ただし、ステップ1はステップ3の2〜4倍の成果を出すことが多いです。UTMキャンペーン値でステップを区別してこそ、その差が見えてきます。
HubSpotでUTMを設定する方法
HubSpotは独自の分析システムでメールのクリックを内部追跡しています。ただし、GA4も併用する場合はUTMパラメータが必要です。HubSpotはGoogleアナリティクスにデータを自動送信しません。
2つの方法:
方法1:HubSpot組み込みのトラッキングURLビルダー
設定 → トラッキングと分析 → トラッキングURLに移動し、以下を設定したトラッキングURLを作成します。
- ソース:
hubspot - メディア:
email - キャンペーン:キャンペーン識別子
HubSpotがパラメータ付きの完全なURLを生成します。
方法2:各リンクに手動でパラメータを追加
より細かい制御が可能です。リンクごとにutm_contentを追加してどのCTAが効果的かを把握できます。
HubSpotのMarketing Hubには癖があります。メールの「URLにトラッキングを追加」トグルを使うと、キャンペーン名をそのまま使ってutm_パラメータを付与します。スペースや大文字・小文字も含めてです。「Spring Sale 2026」というキャンペーン名はutm_campaign=Spring%20Sale%202026になります。
スペースが%20にエンコードされ、大文字・小文字が混在します。GA4データを分断させる典型例です。
**修正方法:**メールを作成する前に、キャンペーン名を必ず小文字とアンダースコアで設定してください。例:spring_sale_2026。またはHubSpotの自動UTMを無効にして、パラメータを自分でビルドします。
HubSpotの2025年年次報告書によると、同社は年間390億通以上のメールを処理しています。HubSpotのCRMとGA4を併用するB2B企業にとって、適切なUTMトラッキングこそが「このメールがこのウェブサイト訪問を生んだ」(GA4)と「この連絡先が顧客になった」(HubSpot)を繋ぐ橋です。
eSputnik(Yespo)のUTM設定について
eSputnikは現在Yespoにリブランドされており、ウクライナで最も普及しているESPで、東欧全体で拡大しています。メール、SMS、Viber、ウェブプッシュを通じて月間70億件以上のメッセージを送信しています。
eSputnikにはキャンペーン設定に自動UTMトラッキングがあります。
- メッセージ設定 → Googleアナリティクストラッキングに移動
- トラッキングを有効にする——eSputnikが
utm_source、utm_medium、utm_campaignを付与 - デフォルト値:
utm_source=eSputnik、utm_medium=email、utm_campaign={message_name}
**問題点:**デフォルトのutm_source=eSputnikは大文字の「E」と「S」を使います。GA4は大文字・小文字を区別します。utm_source=esputnik(小文字)のリンクが混在すると、GA4はそれらを2つの異なるソースとして扱います。
**修正方法:**キャンペーン設定でデフォルトのソースをesputnik(小文字)に上書きします。あるいはUTM設定パネルで、アカウント全体のグローバルデフォルトを設定できます。
eSputnikはUTMの動的変数もサポートしています。
utm_source=esputnik
utm_medium=email
utm_campaign=${campaign_name}
utm_content=${link_name}
${variable}の構文はeSputnik固有のものです。Mailchimpの*|MERGE_TAG|*形式や、KlaviyoのJinjaスタイル{{ variable }}と混同しないようにしてください。
トランザクションメールにもUTMタグを付けるべきか
端的に言うとYesですが、やり方が異なります。
トランザクションメール——注文確認、パスワードリセット、配送通知——はマーケティングキャンペーンではありません。ただし、ウェブサイトへの訪問を生み出します。UTMパラメータがないと、その訪問はGA4で「Direct」トラフィックとして表示され、ダイレクトチャネルを過大評価させ、アトリビューションを複雑にします。
合理的なアプローチ:
utm_source=klaviyo
utm_medium=email
utm_campaign=transactional_order_confirmation
utm_content=track_order_button
utm_medium=transactionalを使うチームもありますが、やめましょう。GA4には「Transactional」チャネルグルーピングがありません。utm_medium=emailを使い、区別はutm_campaignで行います。
考慮に値する例外があります。既存顧客へのリエンゲージメントメールです。クリーンシグナルメソッドはUTMがファーストタッチのアトリビューションを上書きすることを警告しています。誰かが12ドルのGoogle広告クリックで最初に訪問したのに、UTM付きの「戻ってきて」メールを送ると、次の訪問はGoogle広告ではなくメールに帰属します。CRMがトリガーする既知リードへのフォローアップには、UTMパラメータをスキップするか、カスタムパラメータを使って元のソースを保持することを検討してください。
メールプラットフォーム別UTMパラメータ比較
| 機能 | Mailchimp | Klaviyo | HubSpot | eSputnik(Yespo) |
|---|---|---|---|---|
| 自動UTM付与 | あり(トグル) | あり(デフォルトON) | あり(トグル) | あり(トグル) |
| デフォルトのutm_source | mailchimp | klaviyo | カスタマイズ可 | eSputnik(大文字注意!) |
| デフォルトのutm_medium | email | email | email | email |
| リンクごとのutm_content | 手動のみ | 手動のみ | 手動のみ | 手動または${link_name} |
| 動的キャンペーン名 | *|CAMPAIGN_UID|* | 自動スラッグ化 | キャンペーン名そのまま | ${campaign_name} |
| 大文字・小文字の扱い | 小文字 | 小文字(ほぼ) | 元の大文字・小文字を保持 | 元の大文字・小文字を保持 |
| 値内のスペース | アンダースコア | +エンコーディング | %20エンコーディング | アンダースコア |
| フロー/オートメーションのUTM | 限定的 | ステップごとに設定 | メールごとに設定 | メッセージごとに設定 |
違いは小さく見えますが、積み重なります。2〜3つのESPをまたがってキャンペーンを運営するチーム(ニュースレターにMailchimp、ECフローにKlaviyoなど)は、両プラットフォームで同じ命名規則を徹底しないと、データが断片化します。
ヒント:UTM GeneratorでUTMテンプレートを一度作成し、URLでチームと共有して、すべてのESPにわたる唯一の正解として使いましょう。テンプレートリンクですべてのパラメータが自動入力されます。「
klaviyoかKlaviyoか」という議論はもう必要ありません。
メールマーケティングでよくあるUTMミス
ミス1:utm_source=emailを使う
「email」はメディアであり、ソースではありません。ソースはプラットフォームです:Mailchimp、Klaviyo、HubSpot、ConvertKit、Brevo。utm_source=emailに設定すると、どのESPがトラフィックを送ったかが一切分からなくなります。来四半期にESPを乗り換えたら、過去のデータは意味をなさなくなります。
ミス2:すべてのメールで同じutm_campaignを使う
utm_campaign=newsletterを2年間で200通以上の異なるメールに使い続けているアカウントを見たことがあります。オフィスのすべての書類を「書類」というフォルダに入れるようなものです。キャンペーンフィールドは具体的な送信を識別すべきです:weekly_digest_2026-04-21、product_launch_spring、abandoned_cart_step_2。
ミス3:utm_contentで差別化しない
典型的なマーケティングメールにはクリック可能な要素が4〜8個あります。ヘッダーロゴ、ヒーローCTA、商品カード、テキストリンク、SNSアイコン、フッターリンク。これらすべてが同じUTM文字列を共有していると、GA4では「このメールから14クリック」と見えますが、実際に何をクリックされたかはゼロです。ヒーローボタンだったのか、下部の細かい文字だったのかさえ分かりません。
ミス4:自動化フローを忘れる
キャンペーンにはUTMを設定するのに、フロー(ウェルカムシリーズ、放棄カート、購入後シーケンス)には設定しないチームがあります。ECにおいてフローはメール収益の30〜50%を生み出すことが多く(Klaviyoの2025年ベンチマークがこの範囲を報告)、それが適切なアトリビューションなしに巨大な収益チャンクになっています。
ミス5:内部トランザクションリンクにUTMを付ける
utm_source=hubspot&utm_medium=email&utm_campaign=password_reset付きのパスワードリセットメール——これはユーザーのラストタッチアトリビューションを上書きします。オーガニック検索からのアクセスでコンバージョン直前だった人が、セッション途中に「パスワードをリセット」をクリックすると、メールのコンバージョンに見えてしまいます。トランザクションメールのUTMは選択的に、マーケティングに関連するページへのリンクにのみ使用してください。
送信前にメールのUTMパラメータをテストする方法
自分宛にテストメールを送信し、すべてのリンクをクリックして確認します。
- ランディングページのURLに完全なUTM文字列が含まれているか
- パラメータが小文字で、スペースや特殊文字がないか
- GA4リアルタイムレポート → トラフィックソースに
utm_sourceとutm_mediumが表示されるか - クリックした各リンクの
utm_content値が異なるか
テストには GA4のDebugViewがさらに便利です。GA4 Debugger Chrome拡張機能をインストールし、テストメールのリンクをクリックすると、すべてのUTMパラメータを含むpage_viewイベントがリアルタイムで届くのを確認できます。
もう一つ、人々がよく飛ばすこと:URLを短縮した後のリンクテストです。メール内でリンクを短縮している場合(一部のESPはクリックトラッキングのためにデフォルトでこれを行います)、短縮URLがリダイレクトチェーンを通じてUTMパラメータを保持していることを確認してください。URLショートナーの中にはクエリパラメータを削除するものがあります。それにより、丁寧に作ったUTM文字列が無効になります。
UTM命名規則のフレームワーク全体と、チームが一貫性を保つ方法については、そのガイドで3つの主要モデルとそれぞれの最適な使用場面を解説しています。
よくある質問
MailchimpのUTMパラメータはGA4で機能しますか?
はい。Mailchimpの組み込みGoogleアナリティクストラッキングは、すべてのリンクにutm_source=mailchimp、utm_medium=email、utm_campaignを付与します。GA4はページ読み込み時にこれらのパラメータを自動的に読み取ります。GA4での追加設定は不要ですが、GA4プロパティの設定で「拡張計測機能」が有効になっていることを確認してください。
メールの種類によって異なるutm_source値を使っても良いですか?
もちろんです。ニュースレターにはutm_source=mailchimp、フローメールとトランザクションメールを両方運用しているならutm_source=klaviyoを使うことができます。チームによっては、プラットフォームではなく種類で区別するためにutm_source=newsletterやutm_source=crm_emailを好むこともあります。一つのパターンを選んで、組織全体で一貫して使いましょう。
メールにUTMパラメータを追加しないとどうなりますか?
UTMパラメータのないメールのクリックは、GA4で「Direct」トラフィックとして表示されます。GA4はGmailなどの参照メールクライアントを検出できる場合がありますが、これは信頼性が低いです。ほとんどのメールクライアントはHTTPリファラーヘッダーを削除または隠蔽するためです。UTMがなければ、通常ウェブサイトトラフィックの15〜25%を占めるチャネルのアトリビューションを失います。
utm_campaignをメールの件名に合わせる必要がありますか?
いいえ。件名はA/Bテストごとに変わり、スペース、句読点、大文字・小文字が混在します。クリーンなスラッグ化されたキャンペーン識別子を使ってください。「🌸 Spring Sale Is HERE! 40% OFF」の代わりにspring_sale_2026_announcementとします。キャンペーンフィールドはGA4レポートのために機械が読める形式であるべきで、人間が読むマーケティングコピーではありません。
メール内のどのリンクがクリックされたかを追跡するにはどうすればよいですか?
各リンクに説明的な値を持つutm_contentを使います。hero_cta、product_card_1、footer_link、social_instagramなど。メール内の各ユニークリンクに固有のutm_content値を付け、utm_source、utm_medium、utm_campaignは同じ値を共有します。
自動化されたメールフローには別のUTMパラメータが必要ですか?
はい。フロー内の各メールには個別のutm_campaign値が必要です。3ステップの放棄カートフローなら、abandoned_cart_step_1、abandoned_cart_step_2、abandoned_cart_step_3を使います。これにより、フローメールをすべて一つのバケツにまとめることなく、どのステップが実際に収益を回復するかを計測できます。
utm_termはメールマーケティングに有用ですか?
utm_termは有料検索キーワード向けに設計されましたが、メールではオーディエンスセグメント分けにうまく機能します。どの購読者セグメントがメールを受け取ったかを追跡するために使います:utm_term=vip_customers、utm_term=churned_60d、utm_term=new_subscribers。これにより、カスタムディメンションを必要とせずにGA4レポートにセグメンテーションの次元を追加できます。
UTMパラメータがメールのリンクを壊さないようにするにはどうすればよいですか?
UTM値の特殊文字は常にURLエンコードしてください。パラメータ値に&、=、?、#、スペースを含めないようにしましょう。区切り文字にはハイフンまたはアンダースコアを使います。全リストに送信する前に、テストメールの各リンクをクリックして確認してください。UTMジェネレーターでリンクをビルドすると、エンコーディングが自動的に処理され、構文エラーを防げます。