はじめに
Dubは、短縮リンクの作成、共有、追跡を支援する強力なリンク管理プラットフォームです。Dodo PaymentsとDubを統合すると、顧客が購入を完了した際に販売コンバージョンイベントを自動的に追跡でき、マーケティングキャンペーンや紹介プログラムのROIを測定できます。 Dubでは、顧客が次のいずれかを行ったときに「販売」イベントが記録されます。- 一回限りの支払いを完了する
- 有料プランに登録する
- 定期サブスクリプションの支払いを行う
この統合には、リンクでコンバージョン追跡が有効になっているDubアカウントが必要です。
仕組み
Dubは、ユーザーがDubの短縮リンクをクリックした際にcookieに保存される一意のクリックID(dub_id)を通じて訪問者を追跡します。販売をリンクに紐付けるには、次の操作が必要です。
- チェックアウトセッションの作成時に、cookieからDubのクリックIDを取得する
- 顧客の外部IDとともに、クリックIDを支払いメタデータに保存する
- Track APIを使用して、支払い成功時に販売データをDubへ送信する
前提条件
この統合を設定する前に、次のものを準備してください。- ワークスペースを含むDubアカウント
- リンクのコンバージョン追跡
- Dub APIキー(DubダッシュボードのSettings → API Keysから取得可能)
はじめに
1
Enable Conversion Tracking in Dub
Dubダッシュボードで、販売を追跡するリンクのコンバージョン追跡を有効にします。これにより、顧客が購入を完了した際にDubが販売イベントを記録できるようになります。
コンバージョン追跡の有効化については、Dubドキュメントをご覧ください。
2
Get Your Dub API Key
DubダッシュボードでSettings → API Keysに移動し、
conversions.writeスコープを持つ新しいAPIキーを作成します。3
Capture Click ID in Checkout
チェックアウトセッションの作成時にcookieからDubのクリックIDを取得し、支払いメタデータに追加します。
4
Send Sale Data via Webhook
支払い成功時に販売データをDubのTrack APIへ送信するwebhookを設定します。
5
Done!
これで、販売コンバージョンイベントがDubの分析ダッシュボードに表示され、リンクへの完全なアトリビューションが確認できるようになります。
実装ガイド
ステップ1: クリックIDと顧客IDをチェックアウトメタデータに追加する
チェックアウトセッションの作成時にcookieからDubのクリックIDを取得し、顧客の外部IDとともに支払いメタデータに含めます。ステップ2: 販売データをDubに送信する
支払い成功時に販売データをDubのTrack APIへ送信するwebhookエンドポイントを設定します。1
Open the Webhook Section
Dodo PaymentsダッシュボードでWebhooks → + Add Endpointに移動し、integrationsのドロップダウンを展開します。

2
Select Dub
Dub統合カードを選択します。
3
Enter API Key
設定フィールドにDub API Keyを入力します。

4
Configure Transformation
変換コードを編集して、DubのTrack Sale API用に支払いデータを整形します。
5
Test & Create
サンプルpayloadでテストし、Createをクリックして統合を有効化します。
変換コードの例
基本的な販売追跡
支払い成功時に販売を追跡します。basic_sale.js
サブスクリプション販売の追跡
初回サブスクリプションと定期支払いの両方を追跡します。subscription_sale.js
税額を除外した販売の追跡
正確な収益追跡のため、税引前金額のみをDubに送信します。sale_without_tax.js
カスタムイベント名を使用した販売の追跡
カスタムイベント名を使用して、さまざまな種類の販売を分類します。custom_events.js
代替方法: クライアント側での実装
webhookを使用せず、サーバーから販売を追跡したい場合は、支払い成功後にDubのTrack APIを直接呼び出せます。ベストプラクティス
- メタデータには必ずクリックIDを含める: クリックIDがないと、Dubは収益をリンクに紐付けられません
- 外部IDを一貫して使用する: 顧客単位で正確に分析できるよう、システムで使用しているものと同じ顧客IDを渡します
- オーガニックトラフィックを適切に処理する: クリックIDがない場合は
webhook.cancel = trueを設定し、不要なAPI呼び出しを避けます - サンプル支払いでテストする: 本番稼働前に統合が正しく動作することを確認します
- Dubダッシュボードを監視する: 適切なアトリビューションで販売が正しく表示されていることを確認します
重要な注意事項
- 金額形式: Dubは金額をセント単位で受け取ります(例: $10.00 = 1000)
- 通貨: ISO 4217通貨コード(USD、EUR、GBPなど)を使用します
- 無料トライアル: $0の支払いは販売として追跡されません
- 返金: 正確な収益レポートが必要な場合は、返金を別途追跡することを検討してください
トラブルシューティング
Sales not appearing in Dub
Sales not appearing in Dub
- Dub APIキーが正しく、
conversions.writeスコープを持っていることを確認します dub_click_idが取得され、支払いメタデータに保存されていることを確認します- webhookの変換でpayloadが正しく整形されていることを確認します
- webhookが
payment.succeededイベントでトリガーされていることを確認します - Dubリンクでコンバージョン追跡が有効になっていることを確認します
Revenue attribution not working
Revenue attribution not working
- チェックアウト前にユーザーがDubの短縮リンクをクリックしていることを確認します
- ドメインで
dub_idcookieが正しく設定されていることを確認します - チェックアウト作成時と支払い完了時でクリックIDが一致していることを確認します
- チェックアウトセッションを作成する前にクリックIDを取得していることを確認します
Transformation errors
Transformation errors
- JSON構造がDubのTrack Sale API形式と一致することを確認します
- 必須フィールド(
clickId、externalId、amount)がすべて存在することを確認します - 金額がセント単位(小数ではなく整数)であることを確認します
- API endpoint URLが正しいことを確認します:
https://api.dub.co/track/sale - サンプルwebhook payloadで変換をテストします
Duplicate sales being tracked
Duplicate sales being tracked
payment.succeededイベントでのみ追跡し、payment.processingでは追跡しないようにします- 各販売には一意の
invoiceId値を使用します - サブスクリプションでは、更新時の重複を防ぐためにタイムスタンプまたは請求期間を追加します
追加リソース
Dub Conversions Documentation
Dubのコンバージョン追跡および分析機能について詳しく学びます。
Dub Track Sale API
DubのTrack Sale endpointの完全なAPIリファレンスを確認します。
Dub Dashboard
Dubダッシュボードにアクセスして、コンバージョン分析とアトリビューションデータを確認します。
Webhook Events Guide
利用可能なすべてのDodo Payments webhookイベントについて学びます。
サポートが必要ですか?統合については、support@dodopayments.comからDodo Paymentsサポートまでお問い合わせください。