2011-01-13 10 views
0

私はGoogleアナリティクストラッキングコードでキャッチ22状況があります。 提出時にAPIにデータを送信するフォームがあります。 Googleアナリティクストラッキングコードを使用して、この投稿を電子商取引として記録することを決定しました。アプリケーションが送信され、APIからデータを返すまで、トランザクションは記録されません。これは、APIのデータがトランザクションに含まれているためです。google analytics catch 22

フォームはデータがデータベースに自動的に保存されるため、フォームが完全に記入されていない、または送信されていない場合、自動化されたPHPスクリプトが後でAPIに送信することができます。今

私は自動化されたPHPスクリプトを経由して送信されたデータのためにこれを実装する方法を見つける必要があるキャッチ22

。 GAにサーバーサイドでのトランザクションを提出

  1. を動作しません

    3ソリューション。これは可能ですが、このシナリオでは、Googleアナリティクスがクライアントから収集するすべてのデータは、Googleアナリティクスを使用する目的をすべて排除するサーバーから提供されます。

  2. フォームが送信される前にトランザクションを送信してください。トランザクションで送信するには、APIからデータを取得する必要があることを覚えておいてください。

  3. サーバサイドのトランザクションをGoogleアナリティクスに送信するときに、ヘッダーをインクルードするためのクライアントに関する情報をデータベースに保存します。このようなことは、Googleアナリティクスがクライアントについて収集したすべての情報、私のIPアドレスを偽装する方法、そしてこのようなソリューションを構築する時間があれば新しいことでしょう。

答えて

1

自動保存にはAJAXを使用し、最終更新にはSUBMITを使用してください。

+0

私は自動保存にajaxを使用しています。申し訳ありませんが、私はそれが暗示されたと思った –

+0

"_trackPageView"を使用して、より制御された方法でデータを送信することを検討してください。 –

1

オプション3では、Urchin tracking methodsを使用してGoogleアナリティクスに送信されるデータをシミュレートし、ローカルファイルに送信してリクエスト情報をスクラップし、完了したらGoogleに送信することができます。

だから、あなたのJSコードは次のようになります。

var pageTracker = _gat._getTracker("UA-XXXX-1"); 
pageTracker._setLocalServerMode(); //this disables external GA calls. 
pageTracker._setLocalGifPath("/foo/bar.gif"); 
pageTracker._trackPageview(); //or your transaction calls 

これは、通常の__utm.gifリクエストに対して行いURLリクエストを見てから、唯一欠けている重要なことはutmccパラメータであると思われますこれはGoogleアナリティクスのCookieのURLエンコードバージョンのようです。これを(document.cookieの外、またはサーバー側の)これもトラッキングしたいので、Googleアナリティクスのリクエストを行うときにクエリ文字列に追加することができます。これはセッションとソース情報が格納される場所であるため、これは重要です。そうしないと、トラッキングにコンテキストが含まれません。

その後、サーバー上で、bar.gifが最も重要で、クエリ文字列とユーザーエージェントがある(Googleのは、そのサーバに送信されていたクエリ文字列とリクエストヘッダを取り込む、bar.phpし書き換えることができ文字列とIPアドレス)。必要なデータを追加してから結果のクエリ文字列を取得し、そのURLのGoogleアナリティクスバージョンにcURLリクエストを行い、ブラウザの偽装ヘッダーなどを使用します

1

APIがデータの必要なビットを返した後に非同期トラッキングコードを使用してデータを送信できる場合を除き、賢明な方法はありません。上記の方法は有効ですが、IPは着信から読み取られ、再びサーバーになるため、IPをGoogleに偽装する必要があります。

私の経験では、Googleアナリティクスは、このような場合(サーバー側のトラッキング)の場合には適切なツールではありません。

0

サーバサイドからGoogleアナリティクスのヒットを送信する方法については、#1027660に掲載されており、サーバー側のクリックを生成する方法についていくつかの提案があります。

あなたが「このようにすることはできません」ということは、そのルールを破る価値があると思われるかもしれません。

幸運を祈る!