SSLクリックトラッキングのトラブルシューティング
このページでは、SSLクリックトラッキングに関する一般的な問題を特定します。以下のガイダンスは、CDNがそれぞれ固有であるため、一般的な内容となっています。CDNの設定、証明書、またはプロキシの問題については、CDNのサポートチームにお問い合わせください。これらの設定はBrazeの外部で行われます。
まずはここから:症状を確認する
| 症状 | 参照先 |
|---|---|
| メールの開封率が突然低下した | メールの開封率が低い |
| トラッキングリンクがHTTP 403を返す | リダイレクトリンクでHTTP 403が発生する |
| DNSまたはCNAMEがCDNではなくESPを指している | ドメインレジストリの問題 |
| 「接続がプライベートではありません」またはセットアップ中にリンクが壊れる | CDNの問題 |
| SSLセットアップが完了したがリンクがまだHTTPを表示する | SSL有効化のステータス |
| トラッキングURLが失敗するがトラッキングなしのURLは動作する | クリックトラッキングの問題 |
| Amazon SES固有のSSL有効化エラー | Amazon SES |
標準的な調査パス
- クリックトラッキングサブドメインが、メールサービスプロバイダー (ESP)(SendGrid、SparkPost、またはAmazon SES)ではなく、コンテンツデリバリーネットワーク(CDN)を指していることを確認します。ITチームまたはWebチームに、ドメイン設定がBrazeの設定と一致しているか確認を依頼してください。Brazeの要件については、SSL証明書の取得を参照してください。
- トラッキングドメインのSSL証明書が有効であることを確認します。ITチームまたはWebチームに、証明書が最新であり、クリックトラッキングサブドメインをカバーしていることを確認してもらってください。設定手順とCDN固有のガイドについては、SSL証明書の取得とその他のリソースを参照してください。
- クリックトラッキングのトラブルシューティングテンプレートを使用してテストメールを送信します。トラッキングされたURLとトラッキングされていないURLを比較してください。
- トラッキングされたリンクが403エラーで失敗する場合は、CDNとWAFのルール(ユーザーエージェント、クエリ文字列、リダイレクトパターン)を確認してください。
- 設定が完了しているにもかかわらずリンクがHTTPのままの場合は、BrazeがSSLを有効にしていることを確認するために、カスタマーサクセスマネージャーに連絡してください。
- 問題が解決しない場合は、CDNまたはITチームと連携し、エラーコードとCDNまたはドメインプロバイダーからの詳細情報を添えてBrazeサポートにお問い合わせください。
主要な概念
- クリックトラッキングドメイン(CTD): Brazeがクリックトラッキングのためにリンクをラップする際に使用するブランド付きサブドメインです(例:
clicks.mail.yourbrand.com)。 - トラッキングURL: 元のHTTPSリンクをトラッキングドメインでラップします。ユーザーがクリックすると、トラッキングドメインがリクエストを解決し、最終的な送信先にリダイレクトします。CDNを使用すると、セキュアな(HTTPS)URLをトラッキングできます。CDNがない場合、ユーザーに「接続が安全ではありません」というプライバシーエラーが表示されることがあります。
- 非トラッキングURL: 元のURLをそのまま維持し、CDNをバイパスしてコントロール環境として機能します。
- フェーズ1およびフェーズ2ルーティング: フェーズ1では、クリックトラッキングドメインのCNAMEをメールサービスプロバイダー(ESP)に直接向けて、初期HTTP検証を行います。フェーズ2では、CNAMEをCDNまたはWebアプリケーションファイアウォール(WAF)に向け、SSLを終端してESPに必要なヘッダーを付与してリクエストをプロキシします。ESP固有のCNAME送信先については、ESPフェーズ1およびフェーズ2ルーティングを参照してください。
クリックトラッキングドメインとDNSフェーズ
SSLクリックトラッキングには、Brazeが外部のセキュリティ証明書のプロビジョニングや更新を代行しないため、2段階のDNS設定が必要です。
- フェーズ1(初期設定):クリックトラッキングドメインのCNAMEが、暗号化されていないHTTP検証のためにメールサービスプロバイダー (ESP)のエンドポイントを直接指します。
- フェーズ2(SSLデプロイ):CNAMEをCDNまたはWAFエッジに更新します。このエッジにはカスタムSSL証明書が保持されており、必要なヘッダーを付けてリクエストをメールサービスプロバイダー (ESP)にプロキシします。メールサービスプロバイダー (ESP)がクリックを記録し、受信者を最終的なリンク先にリダイレクトします。

Brazeは、フェーズ1の検証が完了した後にのみSSLクリックトラッキングを有効にします。SSLが有効になっていてもDNSがまだメールサービスプロバイダー (ESP)(フェーズ1)を指している場合、受信者にSSL名前不一致エラーが表示されることがあります。
ESPフェーズ1およびフェーズ2ルーティング
リンクトラッキングエラーのトラブルシューティングを行う際は、DNSレコードが暗号化されていないESPネットワーク(フェーズ1)を指しているか、CDN(フェーズ2)を指しているかを確認してください。
| メールサービスプロバイダー (ESP) | フェーズ1 CNAME送信先(ESPへの直接接続) | フェーズ2 CNAME送信先 | 必要なCDN設定 |
|---|---|---|---|
| Amazon SES | r.us-east-1.awstrack.me(US)r.eu-central-1.awstrack.me(EU) |
CDNエンドポイント(例:d123.cloudfront.net、ssl.fastly.net、またはCloudflare) |
クリックトラッキングドメイン名を含むX-Forwarded-Hostヘッダーを有効にします |
| SendGrid | sendgrid.net |
CDNエンドポイント | 元のHostヘッダー(またはカスタムブランドトラッキングID)をパラメーターを削除せずにオリジンに転送します |
| SparkPost | spgo.io |
CDNエンドポイント | X-Forwarded-Hostを有効にし、元のUser-Agentヘッダーをそのまま転送します |
CDNの設定手順とパートナードキュメントについては、BrazeでのSSLを参照してください。
SSL名前不一致エラー
SSL名前不一致は、TLSハンドシェイク中に発生するID認証の失敗です。ブラウザーが暗号化された接続を確立する際に、アドレスバーのドメインが証明書のコモンネーム(CN)またはサブジェクト代替名(SAN)フィールドのいずれのエントリとも一致しない場合に発生します。
DNSがまだメールサービスプロバイダー(ESP)を指している(フェーズ1)
BrazeにSSLクリックトラッキングを有効にするよう指示したにもかかわらず、DNSのCNAMEがメールサービスプロバイダー(ESP)(例:SendGridのsendgrid.net)を直接指したままの場合、受信者のブラウザーはクリックトラッキングドメインを開き、メールサービスプロバイダー(ESP)のインフラに到達します。メールサービスプロバイダー(ESP)にはカスタム証明書の記録がないため、独自のフォールバック証明書(例:*.sendgrid.net)を提供します。名前の不一致により接続が失敗し、プライベート接続の警告が返されます。
証明書がトラッキングサブドメインをカバーしていない(フェーズ2)
DNSがCDN(Cloudflare、CloudFrontなど)を指しているにもかかわらず、セキュリティチームがプライマリWebアセット(例:yourbrand.comとwww.yourbrand.com)のみをカバーする証明書を適用した場合、特定のクリックトラッキングサブドメイン(例:clicks.mail.yourbrand.com)が含まれていません。CDNはトラッキングドメインと一致しない証明書を提供し、ブラウザーにプライバシーエラーが表示されます。
トリアージワークフロー
ステップ1:正式なCNAMEルックアップを実行する
ターミナルを開き、クリックトラッキングドメインの生のDNSルーティングを確認します。
1
dig CNAME clicks.mail.yourbrand.com
ANSWER SECTIONで、CNAMEの解決先を確認します。
| 結果 | 意味 | 次のステップ |
|---|---|---|
メールサービスプロバイダー (ESP)のエンドポイントに解決される(sendgrid.net、spgo.io、またはawstrack.me) |
DNSはまだフェーズ1の状態です | ドメインレジストリを更新して、トラフィックをCDN経由でルーティングしてください。ESPフェーズ1とフェーズ2のルーティングを参照してください。 |
| CDNディストリビューションエンドポイントに解決される | フェーズ2のDNSルーティングは正しい状態です | ステップ2に進んでください |
ステップ2:TLS証明書を検証する
クリックトラッキングドメインに対してライブTLS検証を強制的に実行し、ブラウザーが受信する証明書を正確に確認します。クリックトラッキングドメインを外部のSSLチェッカーに入力してください。例えば、SSL ShopperのSSL Checker(clicks.mail.yourbrand.comをご自身のドメインに置き換えてください)が利用できます。
以下を確認してください。
- 証明書が有効で、期限切れでないこと
- クリックトラッキングドメインがCommon NameまたはSubject Alternative Namesに表示されていること
- 証明書チェーンが完全で、信頼されていない中間証明書の警告がないこと

ステップ3:CDN設定の問題を確認する
設定中にライブメールのリンクが壊れる場合は、設定が完了する前にDNSがCDNに向けられていなかったか確認してください。これは、誤ったリンクや接続エラーとして表示されることがあります。CDNプロバイダーに連絡し、プロキシとオリジンの設定をトラブルシューティングするためにプロバイダーのドキュメントを確認してください。さらにサポートが必要な場合は、SSLとCDNの設定を管理しているチームと連携してください。
メール開封率が低い
症状: SSLまたはCDNの変更後にメール開封率が突然低下した。
メール開封率が突然低下している場合は、SSL証明書が最新であることを確認してください。有効期限が切れている場合は、CDNまたは証明書プロバイダーでSSL証明書を更新する必要があります。
リダイレクトリンクでHTTP 403が発生する
症状: トラッキングされたメールリンクが「403 Forbidden」を返す。
トラッキングされたリダイレクトリンクが403 Forbiddenを返す場合、障害はコンテンツデリバリーネットワーク(CDN)またはWebアプリケーションファイアウォール(WAF)で発生していることが多いです。たとえば、AWS WAFやAmazon CloudFrontのルールが特定のユーザーエージェント、クエリ文字列、またはリダイレクトパターンをブロックしている場合があります。CDNまたはクラウドプロバイダーでブロックされたリクエストのログとメトリクスを確認してください。AWSについては、CloudFrontの問題のトラブルシューティングを参照してください。
問題がクリックトラッキングに固有のものかどうかを確認するには、1つのテストリンクでクリックトラッキングをオフにしてください(リンクごとにクリックトラッキングをオフにするを参照)。クリックトラッキングがオフの場合に送信先URLが読み込まれ、トラッキングがオンの場合に403が返される場合は、クリックトラッキングドメイン、CDN、およびWAFの設定に焦点を当ててください。CNAMEがまだメールサービスプロバイダー(ESP)を指しておりSSLが有効になっている場合は、代わりにSSL名前不一致エラーが表示されることがあります。まずトリアージワークフローから始めてください。
ドメインレジストリの問題
症状: トラッキングサブドメインのDNSまたはCNAMEが、CDNではなくESPを指している。
digコマンドを実行して、リンクトラッキングがCDNを指していることを確認してください。ターミナルでdig CNAME link_tracking_subdomainを実行します。ANSWER SECTIONに、CNAMEの指す先が表示されます。CDNではなくメールサービスプロバイダー(ESP)(SendGrid、SparkPost、またはAmazon SES)を指している場合は、ドメインレジストリをCDNを指すように再設定してください。
CDNの問題
症状: ユーザーに「接続がプライベートではありません」というエラーが表示される、またはCDNセットアップ中にリンクが壊れる。
セットアップ中にライブメールリンクが壊れた場合、適切な設定が完了する前にDNSをCDNに向けた可能性があります。これは「間違ったリンク」エラーとして表示されることがあります。CDNプロバイダーに連絡し、ドキュメントを確認して設定のトラブルシューティングを行ってください。
接続がプライベートではないというエラーメッセージが表示された場合、SSLまたはCDNが正しく設定されていない可能性があります。ターミナルでdigコマンドを実行してください(例:dig CNAME your_link_tracking_subdomain)。ANSWER SECTIONで、結果がCDNではなくESPを指している場合、設定ミスの問題です。BrazeのSSLクリックトラッキングが機能するには、CNAMEがCDNを指している必要があります。SSLとCDNの設定を管理するチームと連携して、さらなるサポートを受けてください。
SSLの有効化ステータス
症状: SSLの設定が完了しているのに、トラッキングリンクがHTTPのまま表示される。
SSLの設定を完了してもリンクがHTTPのまま表示される場合は、Brazeのカスタマーサクセスマネージャーに連絡して、BrazeがSSLを有効にしたことを確認してください。Brazeは、すべての設定ステップが完了した後にのみSSLを有効にします。
Amazon SES
メールサービスプロバイダー(ESP)としてAmazon SESを使用している場合、以下の設定の問題がBrazeのSSL有効化を妨げたり、設定中にエラーを引き起こしたりする可能性があります。
- リージョンの不一致: CDNのオリジンがBrazeクラスターのAWSトラッキングドメインを指していることを確認してください。USクラスターは
r.us-east-1.awstrack.meを使用します。EUクラスターはr.eu-central-1.awstrack.meを使用します。間違ったリージョンを使用すると、SSLの有効化がブロックされる可能性があります。 - ホストヘッダー: Amazon SESでは、CDNが正しいホストヘッダーを転送する必要があります。クリックトラッキングドメインで
X-Forwarded-Hostヘッダーを有効にしてください。フェーズ1およびフェーズ2のルーティング要件については、ESPフェーズ1およびフェーズ2のルーティングを参照してください。 - プロキシ設定: ホストヘッダーを上書きまたは競合するプロキシやCDNの設定は、SSLの有効化を失敗させる可能性があります。CDNプロバイダーとプロキシ設定を確認し、ホストヘッダーの転送を妨げていないことを確認してください。
- Route 53エイリアスレコード: Route 53を使用してドメインのDNSを管理している場合は、CDNディストリビューション(例:
d111111abcdef8.cloudfront.net)を指すRoute 53のエイリアスレコードを作成してください。エイリアスレコードの代わりに標準のCNAMEを使用すると、HTTP 400エラーが返される可能性があります。 - ヘッダー転送の無効化:
X-Forwarded-Hostを設定した後もSSLの有効化が失敗する場合は、CDNまたはプロキシでヘッダー転送を無効にしてみてください。一部の設定では、転送を完全にオフにすることで問題が解決します。ITチームまたはCDNプロバイダーと協力して、この設定をテストしてください。
クリックトラッキングの問題
症状: トラッキングされたメールリンクが失敗するが、トラッキングされていないリンクは機能する。またはユーザーがクリック後に証明書エラーやDNSエラーが表示される。
一般的なリダイレクトの問題は、トラッキングドメインをホストするCDNと、関連するSSL証明書またはDNS CNAMEレコードとの間の不適切な設定に起因することが多いです。これらの設定ミスにより、ユーザーがトラッキングされたメールリンクをクリックした後に「接続が安全ではありません」というプライバシーエラーや404エラーが発生することがよくあります。
トリアージワークフローを完了した後、以下のテンプレートを使用してトラッキングドメインのCDN設定をテストしてください。これは、メール内のリンクの分析をサポートするメカニズムです。
- 以下のテンプレートをコピーして、BrazeのHTMLメールキャンペーンに貼り付けてください。
クリックトラッキングのトラブルシューティングテンプレート
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!DOCTYPE html>
<html lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<title>Click Tracking Test</title>
<style>
/* Base Dark Mode (Default) */
body {
margin: 0;
padding: 0;
background-color: #2b0562;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #ffd1e9;
}
.email-container {
width: 100%;
max-width: 600px;
margin: 40px auto;
background-color: rgba(255, 255, 255, 0.05);
border: 1px solid #F3697F;
border-radius: 16px;
overflow: hidden;
}
.header {
background: linear-gradient(135deg, #E83F21 0%, #F3697F 100%);
padding: 40px 20px 50px 20px;
text-align: center;
}
.logo {
display: block;
margin: 0 auto 25px auto;
border: 0;
outline: none;
text-decoration: none;
}
.header h1 {
color: #ffffff;
margin: 0;
font-size: 26px;
font-weight: 800;
letter-spacing: -0.5px;
}
.content {
padding: 40px 40px 20px 40px;
line-height: 1.8;
font-size: 15px;
}
.troubleshoot {
margin: 0 40px 40px 40px;
padding: 25px;
background-color: rgba(253, 167, 216, 0.1);
border-radius: 12px;
font-size: 14px;
border: 1px dashed #F3697F;
}
.troubleshoot h2 {
margin-top: 0;
font-size: 18px;
color: #ffffff;
}
.btn-section {
padding: 0 40px 40px 40px;
text-align: center;
}
.btn {
display: inline-block;
padding: 16px 32px;
border-radius: 12px;
font-weight: 700;
text-decoration: none;
margin: 10px;
font-size: 14px;
}
.btn-tracked {
background-color: #F3697F;
color: #ffffff;
}
.btn-untracked {
border: 2px solid #FDA7D8;
color: #FDA7D8;
background-color: transparent;
}
.footer {
text-align: center;
font-size: 12px;
color: #FDA7D8;
padding-bottom: 40px;
opacity: 0.6;
}
/* Light Mode Overrides */
@media (prefers-color-scheme: light) {
body { background-color: #F7FCFF !important; color: #2b0562 !important; }
.email-container { background-color: #ffffff !important; border: 1px solid #FDA7D8 !important; box-shadow: 0 4px 20px rgba(43, 5, 98, 0.1); }
.content { color: #2b0562 !important; }
.troubleshoot { background-color: #F7FCFF !important; border-color: #F3697F !important; color: #2b0562 !important; }
.troubleshoot h2 { color: #E83F21 !important; }
.btn-untracked { color: #F3697F !important; border-color: #F3697F !important; }
.footer { color: #2b0562 !important; }
strong { color: #E83F21 !important; }
}
/* Mobile Optimization */
@media only screen and (max-width: 480px) {
.btn { display: block !important; margin: 10px 0 !important; width: auto !important; }
.content, .troubleshoot { padding: 25px !important; }
}
</style>
</head>
{%- capture url -%}https://example.com{%- endcapture -%}
<body>
<center>
<table class="email-container" role="presentation" width="600" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="header">
<img src="https://cdn-staging.braze.com/appboy/communication/assets/image_assets/images/60aecba96a93150c749b4d57/original.png?1622068137"
width="150"
alt="Logo"
class="logo">
<h1>Testing Click Tracking Functionality</h1>
</td>
</tr>
<tr>
<td class="content">
<p>
Use this template to test the <strong>CDN configuration</strong> of your tracking domain—the mechanism supporting analytics for links within your emails.
</p>
<p>
A <strong>Tracked URL</strong> wraps the original HTTPS link in your tracking domain. When a user clicks it, the tracking domain resolves the request and redirects to the final destination. A CDN allows you to track secure (HTTPS) URLs; without it, users may encounter a "connection is not secure" privacy error. An <strong>Untracked URL</strong> maintains the original URL intact, bypassing the CDN to serve as a control environment.
</p>
<p>
Common redirection issues typically result from an improper configuration between the CDN hosting the tracking domain and the <strong>associated SSL certificate or DNS CNAME records.</strong>
</p>
<p>
<i style="font-size: 13px;">This template uses "example.com" as the destination URL. To test your own domain, replace the URL in the <strong>capture</strong> tag located on line 125.</i>
</p>
</td>
</tr>
<tr>
<td class="btn-section">
<a href="{{url}}" class="btn btn-tracked">Tracked URL</a>
<a href="{{url}}"
class="btn btn-untracked"
clicktracking="off"
data-msys-clicktrack="0"
ses:no-track="true">
Untracked URL
</a>
</td>
</tr>
<tr>
<td>
<div class="troubleshoot">
<h2>Troubleshooting the Test</h2>
<ul>
<li><strong>Tracked URL Fails / Untracked Works:</strong> This indicates a CDN or SSL certificate issue. Verify that your SSL certificate is valid and correctly bound to your tracking domain.</li>
<li><strong>Privacy Error (HTTPS):</strong> Ensure your CDN is configured to handle port 443 traffic and that the certificate matches your tracking CNAME.</li>
<li><strong>Both URLs Fail:</strong> Check the destination URL or your internal network firewall settings.</li>
<li>For more information, visit: <a href="{{ site.homeurl }}{{ site.baseurl }}/user_guide/channels/email/email_setup/ssl">SSL at Braze</a></li>
</ul>
</div>
</td>
</tr>
</table>
<div class="footer">
Braze :: 63 Madison Avenue, 13th Floor :: New York, NY 10016
</div>
</center>
</body>
</html>
- URLを設定します。テンプレート本文の上部付近にある
captureタグ内のURL(https://example.comが設定されている箇所)を置き換えてください。たとえば、https://example.comをhttps://braze.com/docsに置き換えます。 - 自分宛にテストメールを送信し、両方のボタンを選択してください。
- 期待される動作と成功基準がテンプレートに記載されている通りであることを確認してください。
トラッキングされていないURLは機能するがトラッキングされたURLが失敗する場合、設定にギャップがある可能性があります。トラブルシューティングするには、お使いのメールサービスプロバイダー (ESP) とCDNプロバイダーのドキュメントを参照してください。証明書のプロビジョニングに関する詳細な要件については、BrazeのSSLも確認できます。
以下の表を使用して、クリックトラッキングのテスト時に発生する一般的なエラーを診断してください。
| エラーコード | トラブルシューティング |
|---|---|
"Your connection is not private" (NET::ERR_CERT_COMMON_NAME_INVALID) |
トリアージワークフローを完了し、SSL名前不一致エラーを参照してください。クリックトラッキングドメインが証明書のCommon NameまたはSubject Alternative Namesに記載されていることを確認してください。 |
"This site can't be reached" (DNS_PROBE_FINISHED_NXDOMAIN) |
DNS設定を確認してください。トラッキングサブドメインがCDNとメールサービスプロバイダー (ESP) の推奨設定に従って構成されていることを確認してください。 |
525 / 526 SSL Error |
CDN(Cloudflareなど)のSSL設定がOriginの機能と一致していることを確認してください。 |
404 Not Found |
CDNが空のルートディレクトリを指すのではなく、URLパス全体をメールサービスプロバイダー (ESP) に転送するように設定されていることを確認してください。 |
400 Bad Request: Request Header or Cookie Too Large |
このエラーは通常、クリックトラッキングドメインがWebサイトのドメインから大量のCookieを継承している場合に発生します。Brazeはトラッキングドメインにおいてcookieの設定やブロックを行いません。CDNがクリックトラッキングリクエストをリバースプロキシする際に、それらのCookieをメールサービスプロバイダー (ESP) に送信しないように設定してください。nginx設定のlarge_client_header_buffers設定を増やす必要がある場合もあります(例:large_client_header_buffers 4 32k;で最大32 KBのヘッダーを許可)。詳細については、CDNプロバイダーまたはWebサイト開発チームにお問い合わせください。 |