日本語

開発者ツール · URL エンコーダーとデコーダー

UTM 値のエンコードされていない & と = がキャンペーン レポートを静かに破損する理由

· なぜそれが重要なのか

URLエンコーディング utm-tracking 分析

UTM キャンペーン パラメータがアンパサンドで複数の分析パラメータに分割されました
オリジナル ToolAcre ベクトル イラスト

& または = を含むキャンペーン名はリンク内では問題なく表示されますが、すべての分析ツールによって 2 つのパラメーターに分割されます。この投稿では、何が起こるか、値を安全にエンコードする方法、およびリンクを出荷前にチェックする方法を示します。

UTM パラメータがエンコードされていないアンパサンド文字で分割される場合

& または = を含むキャンペーン名は、リンクに入力すると正常に見えますが、すべての分析システムではアンパサンドで分割され、残りが新しいパラメーターとして扱われます。 Spring&Summer は、レポート内の 2 つの別々のキャンペーン値になります。値内の等号は、同様のブレークを作成します。 utm_campaign=2024=best は、キーと値のペアを静かに破壊します。これらの文字は、コンテンツではなく構造用のクエリ構文で予約されているため、URL を解析するすべてのツールはこれらを区切り文字として読み取ります。

URL パーサーは、それらがデータとして意図されたものであるかどうかを知る方法がありません。これらを %26 としてエンコードすると、%3D はそれらを値内のリテラル文字として保持します。エンコードを行わないと、分析ダッシュボードは不完全または破損したキャンペーン名を受け取り、トラフィックが意図しないセグメントに分割されます。名前に複数の特殊文字が含まれている場合、1 つの共有リンクで 6 個のファントム キャンペーンが生成される可能性があります。

クエリ文字列の解析方法 — & はペアを分離し、= はキーと値を分離します。指定しない限りエスケープは行われません。

クエリ文字列を解析する方法によって、値にアンパサンドと等号が危険である理由が明らかになります。アンパサンドは独立した key=value ペアを区切ります。 ?utm_source=email&utm_campaign=sale は 2 つの別々のパラメータを意味します。値内で、エスケープされていないアンパサンドは現在のペアを終了し、新しいペアを開始します。等号はキーと値を区切ります。utm_campaign=Q3&2024 の場合、パーサーは utm_campaign=Q3 を認識し、次に値のない孤立した "2024" パラメーターを認識します。

この解析は複数のレイヤーで行われます。ブラウザーが URL を読み取り、サーバーがリクエストを受信し、分析プラットフォームがクエリ文字列を再度デコードします。各レイヤーは同じルールを適用し、パラメーターの開始位置と終了位置について同じ結論に達します。アンパサンドが特別であることを下流の消費者に警告することはできません。 URL 構造は決定的であり、明確です。

UTM 値でエンコードが必要な文字 (&、=、#、?、スペース、非 ASCII) と、# が最も卑劣な理由

UTM 値でエンコードが必要な文字には、アンパサンド、等号、ハッシュ、疑問符、スペース、および非 ASCII 文字または記号が含まれます。ハッシュ文字は最も卑劣です。#anything はフラグメント識別子として扱われ、ブラウザーがサーバーに送信することはまったくありません。ハッシュで終わるキャンペーン名は、リクエストがブラウザを離れる前に、それ以降のすべてを失います。同じ構造上の理由により、スペースは %20 になる必要があります。エンコードのない URL では無効です。

アクセント付き e や中国語文字などの非 ASCII 文字は UTF-8 バイトとしてエンコードされ、パーセント エスケープされます。アクセント付き e は %C3%A9 になります。リンクを慎重に構築するか、エンコードするフォームを使用してください。キャンペーン名を貼り付けて完全なリンクを生成できるツールは通常、このステップを自動的に処理しますが、スプレッドシートの数式または手動での連結の場合はユーザーの責任になります。

作業例: 'Q3 Sale & Launch' を utm_campaign としてエンコードする前と後、およびレポートで各バージョンをどのように読み取るか

うまくいった例: 「Q3 Sale & Launch」を utm_campaign としてエンコードすると、問題が明確に示されます。エンコードしないと、URL はアンパサンドで終わります: ?utm_campaign=Q3 Sale &。休符が消えるか、不正な新しいパラメータになります。正しくエンコードすると、%26 がアンパサンドを置き換えます: ?utm_campaign=Q3%20Sale%20%26%20Launch。スペースも %20 としてエンコードされます。これで、文字列全体が分析プラットフォームにそのまま到着し、単一のキャンペーンとしてレポートされます。

エンコードされていないバージョンとエンコードされたバージョンを別々の URL デコーダーに貼り付けて、それらがどのように異なるかを確認します。エンコードされたフォームは、すべての特殊文字が保持された状態で元のテキストにデコードされます。 UTM リンクをチーム メンバーと共有したり、電子メール キャンペーンやソーシャル メディア プラットフォームで公開したりする前に、URL エンコーダを使用して UTM リンクを検証します。

スプレッドシートの式とリンク ビルダー - 一般的なワークフローでエンコードが発生または失敗する場所 (一般的に説明)

スプレッドシート式とカスタム リンク ビルダーは、エンコードせずに文字列を連結するため、失敗することがよくあります。 URL を構築する CONCATENATE 式では、リンクとして開くと壊れる、完全に有効に見えるテキストが生成される場合があります。エンコードは式の後ではなく、式内で行う必要があります。多くのリンク短縮サービスや電子メール追跡プラットフォームは自動的にエンコードするため、手動による構築が安全であると仮定するのではなく、生成されたリンクをテストしてください。

Google Analytics、HubSpot、および同様のプラットフォームのドラッグ アンド ドロップ キャンペーン ビルダーは、内部でエンコードを処理します。スプレッドシートでリンクを手動で作成する場合、またはリンクを Slack に貼り付ける場合は、リンクが自動的にエンコードされないと想定してください。リンクを配布する前に、デコーダを介して最終 URL を実行し、すべての特殊文字が %XX として表されていることを確認します。

よくある間違い - URL 全体をエンコードし、+ と %20 を混合して 1 つのキャンペーンが 2 つになる

よくある間違いには、URL 全体のエンコードが含まれます。これは、https://. でコロンとスラッシュをエンコードすることによって構造を破壊します。別のエラーは、スペースに plus と %20 を混合します。一部のシステムでは plus (従来の形式のエンコード) が使用されますが、最新の標準では %20 が使用されます。 1 つのキャンペーン値で plus が使用され、別のキャンペーン値で %20 が使用されている場合、それらは同じテキストを表していても、異なるキャンペーンとして表示されます。一貫性を保ち、URL コンポーネントには %20 を使用してください。

二重エンコーディングは、リンク ビルダーが一度エンコードし、再度エンコードする場合にも発生し、%26 ではなく %2526 が生成されます。一度デコードすると、アンパサンドの代わりに %26 が得られます。文字はアンパサンドではなくリテラルのパーセント 2 6 文字列になります。ビルド プロセスの中間ステップを確認して、エンコードが値ごとに 1 回だけ行われることを確認します。

この内容の対象外 — 分析プラットフォームの構成とアトリビューション モデル

分析構成とアトリビューション モデリングは、一貫して正確なキャンペーン データを取得することに完全に依存しています。 UTM 値が文字化けまたは分割されて届く場合、レポートはキャンペーンを正しく照合できず、マルチタッチ アトリビューション モデルはクレジットを正確に割り当てることができません。単一のエンコード エラーがパラメータを使用するすべてのレポートに伝播し、月ごとまたはキャンペーンごとの比較が大幅に歪みます。

完全に開始する前に、キャンペーンのリンクをテストしてください。これらを URL デコーダーに貼り付け、キャンペーン名のすべての特殊文字が適切にエンコードされていることを確認します。 URL エンコーダーは、エンコードされたフォームとデコードされたフォームの両方を並べて表示するため、エンコードが行われたことを確認し、デコードすると元のテキストが正確に復元されます。

要点: すべての値を 1 回エンコードする — URL エンコーダーとデコーダーがキャンペーン名から安全なクエリ値を生成する方法

要点は単純です。適切なパーセント エンコーディング ルールを使用して、すべての値を 1 回エンコードします。 URL が完成して公開される前に、UTM パラメータ内のアンパサンドまたは等号は %26 または %3D になる必要があります。単一値モードの URL エンコーダーは、このエンコードを自動的かつ確実に実行します。キャンペーン名を貼り付け、値モードを選択し、エンコードされた結果をリンク テンプレートにコピーします。

URL を処理するすべての分析ツールは、同じ解析ルールを適用します。それを回避する方法はなく、あなたの意図や意図を推測できるツールもありません。エンコードステップはオプションではありません。これは、クエリ文字列値内の特殊文字を保持する唯一の方法です。リンクを関係者と共有したり、キャンペーンで公開したりする前に、リンクが期待どおりに機能することを確認してください。