マーケティング担当者向けGoogle Analytics APIのケーススタディ


こんにちは トラフィックソースを分析するためのタスクの1つの実装に基づいて、マーケティング担当者向けの説明記事を作成することにしました。 これは、マーケティング担当者がGoogleアナリティクスAPIなしではできない場合です。 この記事はWeb開発者の利益のために書かれているため、マーケティング担当者は「すべてのゴミ」に気を取られません。

実用的な例で技術に精通します。 行こう!

挑戦する


サイトには約150,000人のユーザーが登録されています。 10月に製品を購入した1,500人のユーザーがどのソースから来たのかを理解する必要があります。
見込み客を引き付けるために、フリーミアムモデルを使用します。販売サイクルは最大1年です。

追加設定から、Googleアナリティクスの統合段階で、ユーザーIDを接続し、その値をカスタムディメンション1 (スコープ:ユーザー)に複製して、レポートでUserIDを操作できるようにしました。

解決策


アルゴリズム


必要な最初のソースを決定するには:

  1. Query Explorerサービスを開きます。
  2. 認証を行い、アカウント、プロパティ、ビューを選択します。
  3. レポートをコンパイルするには:
    • 終了日 :ユーザー登録日+ 5日(念のためマージンを付けて)
    • 開始日 :ユーザー登録日-25日(マージンがある場合、ユーザーは登録前にサイトと対話できます)
    • 指標 :ga:セッション
    • 寸法

      ga:sourceMedium-ソース/チャンネル
      ga:dateHourMinute-時刻。日付、時間、分を含みます。
    • sort :ga:dateHourMinute-最初のセッションが最初の行に表示されるようにします。
    • フィルター :ga:dimension1 == 158384-ユーザーID。
  4. 次のようになります。


  5. [クエリの実行]をクリックして、クエリを実行します。

結果


リクエストを実行すると、結果の表が表示されます:



すなわち 登録前の一定の期間に、最初のセッションはソースyandex / organicからのものであったことがわかります。

一人のユーザーのために。 しかし、1500の自動化のために組み立てる方法は?

自動化


クエリ結果のあるテーブルの下には、2つのテキストフィールドがあります。
このレポートおよびクエリURI API への直接リンク

現在のaccess_tokenを含める... 」というチェックマークが付いた2番目のフィールドに興味があります

フィールドの内容はおよそ次のとおりです。

https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A118898472&start-date=2017-10-01&end-date=2017-10-26&metrics=ga%3Asessions&dimensions=ga%3AsourceMedium%2Cga%3AdateHourMinute&sort=ga%3AdateHourMinute&filters=ga%3Adimension1%3D%3D158384&access_token=ya29.Gl30BMgGpR89kexsBJS8VMIWimIEghKVHubx9iQH7RljCyQNLjX2LLBQ9AyCCRW9K0TjfJEvwe6qY3SIRKbkm8idMZjdygbN647O7JUgXqcGyDt5b63Y2FjDbeQabfA 

ブラウザでリンクを開くと、リクエストをJSON形式で実行した結果が表示されます。



すなわち クエリURLのデータdimension1、start-date、end-dateを置き換える-ユーザーごとにこのような情報を取得できます。

ユーザーデータファイル


次の形式の行を含む通常のtxtファイルを作成しました(UserID start-date end-date):

 123456 2017-10-01 2017-10-26 123457 2017-10-02 2017-10-27 

開始日と終了日の準備は簡単です-ExcelまたはGoogleスプレッドシートで:

開始日:
=日付(年(B2)、月(B2)、日(B2)-25)

終了日:
=日付(年(B2)、月(B2)、日(B2)+5)

ここで、B2はユーザー登録の日付のセルです。

スクリプトを作成する


Pythonを言語として選択しました-単に私が現在それを学んでいるからです。

スクリプト操作アルゴリズム:

  1. ユーザー情報を含むファイルを開きます。
  2. ファイルの各行は「タブ」で分割されます。
  3. Query Explorerで作業するときに受け取ったQuery Stringの文字列からデータを置き換えます。
  4. このリンクから情報を取得します。
  5. 応答テキストをJSONに変換して、対話できるようにします。
  6. 各ユーザーの回答のバックアップを作成します。これはusers /%userID%.txtに保存されます
  7. 「行」セクションを循環してみましょう。
    • うまくいった場合は、画面にユーザーIDとソース/メディアを書き込みます。
    • うまくいかない場合は、UserIDを書き込むだけです。

 import json import requests with open('users_regs.txt') as f: for line in f: value = line.split("\t") source = 'https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A118898472&start-date=' + value[1] +'&end-date=' + value[2].strip('\n') +'&metrics=ga%3Asessions&dimensions=ga%3AsourceMedium%2Cga%3AdateHourMinute&sort=ga%3AdateHourMinute&filters=ga%3Adimension1%3D%3D' + value[0] +'&access_token=ya29.Gl3wBOWAecjWj4GgW0Gj920Sx2SBtVBkCHZjOsPNu6MWnN1XnsNwwzVzPVBcdVwDf_7lWJd0mege38pP1PSNvc9aBA7wbndUn-h6vqS5bbbEhSOKHp4cjQvVSQiN5R4' r = requests.get(source) l = json.loads(r.text) with open('users/' + value[0]+'.txt', 'w') as outfile: json.dump(l, outfile) try: for row in l["rows"]: print(value[0] + " " + row[0]) break except: print(value[0]) メトリクス= GAの%3Asessions&寸法= GA%3AsourceMedium%2Cga%3AdateHourMinute&ソート= GA%3AdateHourMinute&フィルター= GA%3Adimension1%3D%3D' +値[ import json import requests with open('users_regs.txt') as f: for line in f: value = line.split("\t") source = 'https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A118898472&start-date=' + value[1] +'&end-date=' + value[2].strip('\n') +'&metrics=ga%3Asessions&dimensions=ga%3AsourceMedium%2Cga%3AdateHourMinute&sort=ga%3AdateHourMinute&filters=ga%3Adimension1%3D%3D' + value[0] +'&access_token=ya29.Gl3wBOWAecjWj4GgW0Gj920Sx2SBtVBkCHZjOsPNu6MWnN1XnsNwwzVzPVBcdVwDf_7lWJd0mege38pP1PSNvc9aBA7wbndUn-h6vqS5bbbEhSOKHp4cjQvVSQiN5R4' r = requests.get(source) l = json.loads(r.text) with open('users/' + value[0]+'.txt', 'w') as outfile: json.dump(l, outfile) try: for row in l["rows"]: print(value[0] + " " + row[0]) break except: print(value[0]) h6vqS5bbbEhSOKHp4cjQvVSQiN5R4' import json import requests with open('users_regs.txt') as f: for line in f: value = line.split("\t") source = 'https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A118898472&start-date=' + value[1] +'&end-date=' + value[2].strip('\n') +'&metrics=ga%3Asessions&dimensions=ga%3AsourceMedium%2Cga%3AdateHourMinute&sort=ga%3AdateHourMinute&filters=ga%3Adimension1%3D%3D' + value[0] +'&access_token=ya29.Gl3wBOWAecjWj4GgW0Gj920Sx2SBtVBkCHZjOsPNu6MWnN1XnsNwwzVzPVBcdVwDf_7lWJd0mege38pP1PSNvc9aBA7wbndUn-h6vqS5bbbEhSOKHp4cjQvVSQiN5R4' r = requests.get(source) l = json.loads(r.text) with open('users/' + value[0]+'.txt', 'w') as outfile: json.dump(l, outfile) try: for row in l["rows"]: print(value[0] + " " + row[0]) break except: print(value[0]) 

スクリプトファイルの名前はga.pyです。

コマンドラインからスクリプトを実行し、結果を楽しみます。



スクリプトの結果は端末に表示され、さらに処理するためにそれらをコピーするだけです。

スクリプトは例として提示されており、自分で結果を単一のファイルまたはデータベースに保存できます。

大量のデータを使用する場合-1時間に1回、新しいトークンを生成し(クエリエクスプローラーを再度開き、[クエリの実行]をクリックして)、スクリプト内のクエリ文字列を置換する必要があります。

頑張って!

リーダーボーナス


オンライン講座


オンラインコースを使用して3か月間の英語学習を無料でご利用いただけます。 これを行うには、2017年12月31日までリンクをたどるだけです。

Skype経由で個別に


ITプロフェッショナル向け英語コースの個別レッスンでお会いできることを嬉しく思います。
無料の入門レッスンを受講して、知識レベルに関する包括的なフィードバックを得てから、好みの教師とトレーニングプログラムを選択してください。

Source: https://habr.com/ru/post/J341282/


All Articles