従来の方法では、GoogleアナリティクスはドメインのあるサイトまたはSDKのあるアプリケーションにインストールされます。 トピックをグーグルで調べてみると、例がないことが明らかになったので、私たちは自分でやることに決めました。 私たちの場合、ウェブサイトやモバイルアプリケーションはありませんでしたが、Telegramボットでイベントを追跡したいという要望がありました。 そして、部分的にそれが行われたことが判明しました。
問題番号1
ボットは物理的にt.me/benice_tools_botにあります。 これは通常のサイトに似ていますが、ルートファイルに直接アクセスせずに、カウンターコードを設定し、イベントを構成します。
この場合のフロントエンドはTelegram自体であり、アクセスできません。
ボットはBinance APIおよびTelegram APIで動作するため、分析設定を操作できるバックエンドがあります。
Googleアナリティクスでは、サイトのカウンターを作成し、パラメーター「Action、Label、Category」を使用してイベントを登録しました。 詳細な設定は、多数のサイトで説明されています。 そしてその後、最初の問題が現れました。
Googleの標準的な方法では、ボットにターゲットを配置することはできませんでした。正面にアクセスできませんでした。
ライブラリが助けになり、バックエンドからイベントパラメータを転送および処理できるようになりました。
設定後、メソッドの動作容量のテストを開始し、最初の成功を収めました。 完了したイベントがGoogleアナリティクスに表示されるようになり、「リアルタイム」モードでは、ボットでオンラインになっている人数やその他のデータが表示されました。
独立したテストと広告トラフィックからのユーザーの後、必要な情報が100%信頼できることが明らかになりました。 何人の人がオンラインで、どの特定のイベントが実行されているかが明らかになりました。
しかし、まだいくつかの間違いがありました。 たとえば、モバイルデバイスからTelegramを使用している場合でも、デバイスのタイプが正しく検出されず、「デスクトップコンピューター」が表示されました。 ボットを備えたサーバーがこの国にあったため、場所はギリシャのみを示しました。 人口統計、興味、ブラウザ、OSは「(設定なし)」と表示されていました。
問題番号2
プロモーションリンクを作成し、アクティブ化すると、7日間有料機能にアクセスできるようにしました。 また、これらのリンクのクリックは、広告キャンペーンを分析するためにGoogle Analyticsとリンクする必要がありました。
デフォルトでは、Googleアナリティクス自体がユーザーIDを生成するか、このパラメーターを使用せずに残します。 ただし、独自のカスタムIDを作成して、Googleに送信できます。
この方法を使用しました。 システムの暗号化されたuserIdを使用してユーザーアカウンティングを作成しました。
テレグラムは、ボットの開始時にメタデータを送信します。 これは、使い慣れたutmタグと同じように機能します。
リンクでは、広告キャンペーンの場合、開始後にラベルが挿入されます。
例:
http://t.me/benice_tools_bot?start=habrahabr
ボットが開始すると、開始のパラメーターを解析し、特定のキャンペーン用にパラメーターを取得します。
バックエンドでは、ユーザーのプロフィールに、特定のcampaign_habrahabrキャンペーンのために彼が来たという情報があります。
コードで訪問者を指定することは残りました。
if (!code) code = "organic"; const visitor = ua(googleAnalyticsProjectId, `token:${code};CLIENTID:${saltUserId}`, { strictCidFormat: false }); visitor.event(category, action, label).send();
ユーザーが広告キャンペーンなしで自分で来た場合、このソースは「オーガニック」として認識されます。
したがって、広告キャンペーンから来た特定のユーザーからの目標のトリガーを分析することが判明しました。
PS
Googleアナリティクスへのすべての呼び出しは、サポート側からの混乱に終わりました。 最初の呼び出しで、他に何も機能しなかったとき、ヒントは得られませんでした。 そして、イベントがすでに分析に転送されたとき、サポートは質問の「詳細を明確にする」ために15分間の休憩を取り、戻ったとき、彼ら自身が質問を始めました:「どうしましたか?」