キャンペーンを実行していて、アフィリエイトネットワークや商品販売から成約を得ていますが、FunnelFluxに成約が表示されていないのですね。
ここでは、いくつかのトラブルシューティングの手順を説明します - 考えるべきプロセスです。
まず、どのように成約をトリガーしていますか?
2つの選択肢があります - ポストバックURL(サーバー間)を使用するか、JavaScriptを使用するかです。両方の成約フローを見ていきましょう。
ポストバックURLを介した成約
ポストバックURLで成約を追跡している場合、これが正常に機能するためにはいくつかのステップが必要です:
- ユーザーをリダイレクトを介してオファーページに送信する必要があります - つまり、FunnelFluxで生成されたトラッキングリンクまたはアクションクリックスルーリンクです
- そのオファーページは、URLに私たちのヒットIDを渡す必要があります。
{hit}
トークンを使用し、通常はオファーソースのデータ受け渡しセクションで設定します - ネットワーク/オファープラットフォームがそのヒットID値を取得して保存する必要があります
- ネットワーク/オファープラットフォームは後でその保存された値を渡すポストバックをFunnelFluxに送信する必要があります
これらすべてが正しく機能しないと、ポストバックで成約をトリガーすることはできません。
各ステップでの一般的な問題を特定してみましょう。
ユーザーをオファーページに送信する
FunnelFluxにオファーを追加して、ユーザーを何らかのネットワーク/広告主、または自分で管理するオファーページに送信しています。
考慮すべき点は以下の通りです:
- ランダーではなくオファーを使用していますか? ランダーは直接成約できるヒットを作成しません
- ファネルで、オファーにリンクするランダーを使用している場合、クリックスルー用のアクションURLをページで使用していますか? これがないと、トラッカーを経由してリダイレクトされず、ヒットIDは渡されません
- 広告 > オファーにリダイレクトリンクを使用してリンクしている場合は、最後までリダイレクトされるので問題ありません
- ただし、確実を期すために...広告でオファーURL自体ではなく、FunnelFluxのURLを使用していますか?
次に、オファー/広告主へのデータ受け渡し
では、オファー自体へのデータ受け渡しを考えてみましょう。
データ受け渡しセクション(理想的には)では、パラメーター = 私たちのトラッキングID(トークン{hit}
を持つ)を渡しています
データ受け渡しが期待通りに行われているかどうかは、オファーの編集 --> データ受け渡しタブで確認できます。ここでは、オファーソースから継承されたデータ受け渡し、オファー直接のデータ受け渡し、そしてシステムがリダイレクトする最終的なURLを確認できます:
- 実際に{hit}をネットワーク/広告主に渡していますか? これはデータ受け渡しセクションにあるはずです。このオファーのヒットID(リダイレクト時に作成され、オファー自体をロードしようとするまで存在しません)を次のシステムに渡す必要があります
- そのヒットは、ネットワークのプラットフォームが使用してデータを取得するclickid、s5、aff_sub3などのようなパラメーター名で渡されていますか?
- ネットワークプラットフォームのクリックレポートに行き、そのパラメーターでレポートを作成すると、FunnelFluxからのヒットIDが表示されますか? オファーヒットの場合、常に"h"で終わります
- ネットワークによってはクリックIDでレポートを作成できない場合があります。しかし、このパラメーターでレポートを作成できる場合は、私たちのヒットIDが表示されるはずです。表示されない場合、ネットワークにIDがないため、FunnelFluxに成約を送信する方法がありません - データ受け渡しの問題を修正する必要があります
FunnelFluxへのポストバック
データ受け渡しが問題なく機能しているにもかかわらず、FunnelFluxに成約が表示されない場合を考えてみましょう。以下の点を考慮してください:
- ネットワークに渡されたヒットID - "h"で終わっているか確認してください。これはランダーヒットではなくオファーヒットであることを示します
- グローバルポストバックURLはシステム設定にあります。以下の形式です:
https://DOMAIN/pb/?hit=HIT_ID&rev=REVENUE&tx=OPTIONAL_TXID
- これを使用していますか? HIT_IDプレースホルダーが、ネットワークがそのユーザーの渡されたヒットIDで動的に置き換える{click_id}のようなトークンに置き換えられていることを確認してください
REVENUE
が何らかの数値またはネットワークが実際の成約価値で置き換える#payout#のようなトークンに置き換えられていることを確認してください- ポストバックURLにタイプミスはありませんか?
?
や&
が欠けていると、構文が無効になり、URLが全く機能しなくなる可能性があります - 不明な点がある場合は、受信ポストバックログを確認して、何を受信しているか、なぜ機能しないのかを確認するようお問い合わせください
以上がポストバックベースのトラッキングのトラブルシューティングです。すべてはシステム間のデータ受け渡しとトークンの正しい使用に依存しています。
このプロセスで何か不正確な点があれば、URLが壊れていたり、IDを渡していなかったり、ポストバックURLを正しく設定していなかったりすると、成約は表示されません。
これらのシステムはプログラム的で明示的なので、ミスを解釈して修正することはできず、単に期待通りに動作しません。
JavaScriptを介した成約
JavaScriptを介して成約を追跡することは、システムAからBへの明示的なデータ受け渡しが不要であり、重要なのは、クライアントサイドで発生することです。
ポストバックURLは「サーバーサイド」トラッキングであり、成約リクエストを送信するのは成約するユーザーではありません。しかし、JavaScriptの場合、ユーザーのブラウザでロードされ、そのブラウザのコンテキストに依存します。
このため、本質的に信頼性が低くなります - ユーザーのブラウザ環境は大きく異なり、ブラウザの標準、プライバシー制限、広告ブロックプラグイン、そしてもちろん - ユーザーの奇妙な行動など、トラッキングを妨げる多くの要因があります。
JavaScriptでトラッキングする一般的な方法は以下の通りです:
- 関連するすべてのページに私たちのグローバルヘッダーJSを配置する
- すべてのページにビュートラッキングJSを配置する。ビューを追跡し、一般的にトラッキングを改善するヘルパー関数があるためです(重要!)
- 特定のオファーを成約させたい場合、そのオファーの編集 > 成約トラッキング > 成約トラッキングコードを取得する
- 成約をトリガーしたい場所にそのコードを配置する - これは通常、実際のオファーの後に来るサンクスページになります。技術的なスキルがあれば、スクリプトを手動で実行することもできます
かなり典型的ですが、これが機能しない理由は多くあり、その多くはブラウザの微妙な違いや問題に起因します。このトラッキングが失敗する主な理由をいくつか見てみましょう。
問題1: JavaScriptが実際に正しくロードされていない
成約コードをロードするには、成約スクリプトの前にグローバルヘッダーJSがページにある必要があります。
ない場合は、必ず追加してください。ページに1回だけ存在する必要があります。
ページに1つのコードブロックしか配置できない場合は、成約コードの前に配置してください。<head>内にあるのが理想的ですが、これは重要ではありません。単に最初に来る必要があります。
より具体的にテストしたい場合は、ブラウザの開発者ツール > ネットワークタブを開き、すべてをクリアしてからページを更新し、リクエストを確認できます。最も簡単な方法は、トラッカーのドメインでフィルタリングすることです。
lumetric.jsのロード、可能なビューイベント、成約イベントが表示されるはずです。
funnelflux.comのホームページでの例を示します:
さらに、「funnel」リクエストをクリックすると、レスポンスを検査できます:
ヒント: Chromeでこのパネルの左下にある「{ }」ボタンをクリックすると、フォーマットされます。
ここで、トラッカーがどのように応答したかを確認できます。訪問者IDが解決されており、これはトラッキングが正常に機能したことを意味します。そうでない場合は、エラーメッセージがあるはずで、何かが正しく機能していないことを意味します。
問題2: 正しい成約コードを使用していない
オファー設定 > 成約トラッキングに移動すると、そのオファーに特化したJavaScriptコードがあります。具体的には、「p」値の下にオファーのIDが含まれています。
このコードを具体的に使用していない場合、成約イベントは「この正確なオファーを成約したい」と言っていません。
異なる値を送信して混乱を引き起こしたり、値がない可能性があります。この場合、FunnelFluxはユーザーを識別し、最後に訪問したオファーを成約しようとします。
問題3: コードはロードされているが、ユーザーを識別できない
これも十分に可能性があり、上記のコンソール/ツールで成約コードのレスポンスを調べると明らかになります。
ファネル/訪問者が見つからないと表示される場合、ユーザーのセッションの追跡を失った可能性が高いです。
これはクライアントサイドトラッキングの課題に起因します...ここに到達するまでに複数のページをジャンプし、何らかのサードパーティのウェブサイト上にある場合、クッキーに依存する必要がある可能性が高いです(ビュートラッキングコードでクッキーが有効になっていますか?)。
この制限を簡単に回避する方法はありません - これはFacebookやGoogle Analyticsなど、すべてのJavaScriptトラッキングに影響します。これが、サーバーサイドトラッキングがしばしばより信頼性が高い理由です。
これらが制御できるページである場合は、ページ間で「vid」を渡すようにしてください。これは常に私たちのリダイレクトで行われ、私たちのJSは自動的にこの訪問者/セッションIDをアクションURLに追加しようとします。基本的に、URLを通じてクッキー値を手動で追跡しようとしています。
現在のURLまたはリファラーにVIDが存在する場合、私たちのJavaScriptはそれを見つけようとしますが、これは常に制御できるわけではありません。
その点で、ページを制御しているが、ページ間で直接リンクを使用している場合(トラッカーを経由してリダイレクトするアクションURLではない)、以下を確認してください:
- すべてのページで私たちのビュートラッキングJSを使用する
- クリックスルーリンクに
data-lum="action"
属性を追加する
後者の点について、私たちのJSもこれらのリンクを認識し、トラッキングを改善するためにデータを追加します。したがって、以下のように変更できます:
<a href="/somepage">Some Link</a>
から
<a href="/somepage" data-lum="action">Some Link</a>
これを行うと、私たちのJSがこれらのリンクにデータを追加し、次のページで、そこのJSがより多くのコンテキストを持ち、より信頼性が高くなります。
funnelflux.comのホームページでこれを確認できます - ページを調べると、リンクにこれらのデータがすべて追加されているのがわかります。しかし、ページソースを調べると、これらの値は存在しません!
ページソース:
ロード時にブラウザで起こること:
これらの追加情報がどのように追加されているかわかりますか? これは私たちのJSが働いて、そのリンクをクリックしたときに、次のページがこのページで作成されたすべてのコンテキストを持つようにしているのです。
これが、リダイレクトリンクを全体的に使用している場合でも、すべてのページに私たちのJSを置くことが非常に有用である理由です!