Telegram BotのGoogleアナリティクス

Habréには、ボットテレグラムに関するいくつかの記事が既にあります。 しかし、ボットの使用を監視する方法は? カットの下で、最もよく使用されるボット機能、キャンペーンのパフォーマンス、および失敗率を評価するためにデータを収集します。



画像






最初に、小さな発言。 私はアナリストでもSEOの専門家でもありません。 おそらくいくつかのタスクはより効率的に解決できますが、これに関する情報はほとんどありません。 たまたま、海中の同僚が、Yandex ボタン製品の使用をきっぱりと拒否し、「Googleアナリティクスのような」使い慣れたインターフェイスを要求しました。 Googleアナリティクスの測定プロトコルを使用することが決定されました。 これにより、通常の方法(たとえば、サイトのスクリプト)で、ほぼすべてのデータをGoogleアナリティクスに転送できます。



ボットがlaravelで記述されている場合、測定プロトコルが機能するようにirazasyed / laravel-gampパッケージをお勧めします。



ボットの使用方法



ボットでは、ダイアログとステップにより、ボットとのメインユーザーインタラクションをマークしました。 たとえば、設定ダイアログは次のようになります。



画像






実際、これはボタンと特定のパラメーターを設定するための6つの個別のステップを備えたダイアログの1つのステップです。 この構造は、アドレスとして表すことができます。





現在のユーザーボタンのセットは、その状態またはボタンが配置されているページと見なされます。 したがって、ページビューを分析に送信できます。



use Irazasyed\LaravelGAMP\Facades\GAMP; ... $gamp = GAMP::setClientId( '123456' ); $gamp->setDocumentPath( '/settings' ); $gamp->sendPageview(); ...
      
      





画像






新しいユーザーはどこから来たのですか?



サイトのページとユーザーの状態(現在のキーボード)の類推が非常に明白な場合、トラフィックソースとの類推はどのように行うのでしょうか? 実際、ユーザーがボットをどのように見つけたかは正確にはわかりません。 しかし、1つのトリックがあります。 utm_campaignアナログをGoogleアナリティクスに渡すためのツールはすでにありました。



Telegramを使用すると、ゼロからではなくユーザーとの対話を開始できます。 ユーザーが電報アプリケーションの「開始」ボタンをクリックすると、ボットは「 / start 」というメッセージを受け取ります。 このメッセージは、追加のパラメーターを使用して拡張できます 。 各ボットには、 telegram-telegram.me <bot_name>でチャットを開くリンクがあります。 このリンクに「start」パラメーター(または「startgroup」)を追加できます。次に例を示します。



https://telegram.me/bot_name?start=habr-gamp





この場合、「habr」のソースをアナリストに転送し、「gamp」チャネルを使用してさらに改善することができます。



 if($campaign){ if(strpos($campaign,'-')){ list($campaign,$medium) = explode('-',$campaign); $gamp->setCampaignMedium($medium); } else{ $gamp->setCampaignMedium('none'); } $gamp->setCampaignSource($campaign); }
      
      





この瞬間から、広告キャンペーンの成功を監視できます。



画像






ユーザーがボットをブロックした場合はどうなりますか?



次回メッセージを送信するときに、不快な状況が発生する可能性があります-ユーザーがボットをブロックしました。 これは分析にどのように反映されますか? 実際、「 / unsubscribe 」ページなどのビューをアナリティクスに提供することはできません。 ユーザーは別の状態(別の「ページ」)になります。 ただし、gampはイベントもサポートします。 したがって、ユーザーのブロックに関するイベントを送信します。



 use Irazasyed\LaravelGAMP\Facades\GAMP; ... $gamp = GAMP::setClientId( '123456' ); $gamp->setEventCategory('User') ->setEventAction('Unsubscribe') ->setEventLabel('Blocked') ->sendEvent(); ...
      
      





ボットを使用する地域



なぜなら すべてのメッセージは同じサーバーから送信され、その地理的所属は実質的に無関係です。 ボットの視聴者の分布に興味があります。 基本的に、送信されたジオロケーションまたはユーザーのIPの2つの方法でユーザーの位置を確認できます。





画像



気配りのある読者は、何らかの理由でグリーンランドがロシアと同じくらい多くのセッションを持っていることに気づいたかもしれません。 事実、これはちょっとしたトリックです。 すべてのユーザーがリンクをたどったり、場所を送信したりするわけではありません。 地理的な位置だけでなく、それを提供していないユーザーの数も理解することが重要であるため、大規模ではあるが人口密度の低いグリーンランドで検討するために、まだ場所を話す時間がないすべての人を決定しました。



All Articles