# 決済用の URL リンクを追跡する

URL パラメーターと UTM コードを使用して決済用の URL リンクを追跡します。

決済用リンクに URL パラメーターと [Urchin Tracking Module (UTM)](https://en.wikipedia.org/wiki/UTM_parameters) コードを追加すると、顧客の行動やマーケティング戦略の有効性に関するインサイトが得られます。これらのツールにより、トラフィックソースや、最も多くのコンバージョンにつながるマーケティングキャンペーンを特定できます。

## UTM コードを使用してキャンペーンを追跡する

UTM コードを使用すると、顧客が決済用の URL リンクを使用して支払いを行う際に、どのようにしてサイトを見つけたかを追跡することができます。URL のクエリ文字列にパラメーターとして次の UTM コードを追加することができます。決済用の URL リンクが現在対応している UTM コードは、`utm_source`、`utm_content`、`utm_medium`、`utm_term`、`utm_campaign` です。

| パラメーター | 説明 |
| --- | --- |
| `utm_source` | トラフィックの発生元を特定します (Web サイト名、ソーシャルメディア、検索エンジンなど)。 |
| `utm_content` | 顧客が選択したコンテンツを特定します。このパラメーターは、同じ決済ページを指す複数のリンクを区別するために使用します。 |
| `utm_medium` | 決済フォームへのリンクにアクセスするマーケティングメディアを特定します (メール、クリック単価 (CPC) など)。 |
| `utm_term` | 有料検索広告で使用された具体的な検索語句とキーワードを特定します。 |
| `utm_campaign` | 決済フォームへのリンクの URL を使用するマーケティングキャンペーンを特定します。 |

UTM コードを追加するには、[確認時の動作](https://docs.stripe.com/payment-links/post-payment.md#change-confirmation-behavior)として `redirect` を指定します。顧客が決済を完了すると、決済用リンクの URL で指定した UTM コードのパラメーターがリダイレクト先の URL に引き継がれます。UTM コードを追加した決済用リンクは次のようになります: **https://buy.stripe.com/test\_eVa5nPg1j1wmfXq5kr?utm\_medium=earned\_email&utm\_source=marketo&utm\_campaign=campaign\_a**.

> 150 文字までの英数字、ダッシュ、アンダースコアを使用して UTM コードを作成します。無効な値は通知なく破棄されるため、決済用の URL リンクのパフォーマンスは影響を受けません。

## URL パラメーターを使用して照合を効率化する

`client_reference_id` URL パラメーターを使用すると、照合を効率化できます。支払い用の URL リンクのクエリ文字列で URL パラメーターを使用します。ダッシュボードの [Payment Links](https://dashboard.stripe.com/payment-links) ページから直接 URL パラメーターを設定するには、以下を行います。

1. 修正対象の支払い用 URL リンクをクリックします。
2. **コピー**ボタンの下向き矢印をクリックし、**URL パラメーター**を選択します。
3. ダイアログで、ドロップダウンメニューを使用して、**クライアント参照 ID** を選択します。
4. 次の表に記載されている要件を満たす値を入力して、URL への参照を追加します。
5. 自社の構築済みシステムで使用する修正済み URL をコピーします。

| パラメーター | 説明 | 構文 |
| --- | --- | --- |
| `client_reference_id` | `client_reference_id` を使用して、Checkout セッションに選択した一意の文字列を関連付けます。顧客 ID やカート ID (または同様のもの) を指定でき、お客様の内部システムでセッションを照合するために使用できます。このパラメーターを決済用のリンクに追加すると、支払いの完了時に [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) で送信されます。 | `client_reference_id` は、英数字、ダッシュ、アンダースコアで構成され、最大 200 文字までの任意の値を指定することができます。無効な値は通知なく破棄されますが、決済ページは引き続き正常に機能します。

Payment Links は、共有方法によっては、予期しない場所に表示される可能性があります。Payment Link にクライアント参照 ID を追加する場合は、パスワードや API キーなどの機密情報やシークレットを含めないようにしてください。URL パラメーターを含む Payment Links は、意図した受取人のみに共有してください。 |

## API による決済の追跡

顧客が決済用リンクを使用して支払いを完了すると、フルフィルメントと消し込みに使用できる [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) Webhook が Stripe から送信されます。[導入環境での Stripe イベントの受信](https://docs.stripe.com/webhooks.md)の詳細をご確認ください。

口座引き落としや店舗支払いのように、決済確定までに 2 ～ 14 日かかる支払い方法を有効化した場合は、追加の Webhook をリッスンするようにしてください。詳細については、[顧客の決済後に注文のフルフィルメントを実行する](https://docs.stripe.com/checkout/fulfillment.md)ためのガイドをご覧ください。

顧客が購入を完了したら、決済用リンクで [after_completion](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-after_completion) を設定することで、顧客を URL にリダイレクトしたり、カスタムメッセージを表示したりできます。

```curl
curl https://api.stripe.com/v1/payment_links \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "line_items[0][price]={{PRICE_ID}}" \
  -d "line_items[0][quantity]=1" \
  -d "after_completion[type]=redirect" \
  --data-urlencode "after_completion[redirect][url]=https://example.com"
```
