ただし、広告の専門家が分析予算を割り当てることはめったにないため、自分で行う必要があります。
DataStudioでYandexDirectを視覚化するために必要なこと:
- アカウントからトークンを取得します(これについては、Yandex.Directヘルプを参照してください)
- PythonでYandexDirectサーバーにリクエストを書き込む
- Pandasデータフレームの統計の合計
- Google BigQueryにデータを送信する
- Google BigQueryのデータに基づいてDataStudioで視覚化を構築する
Yandex Directサーバーにリクエストを書き込み、データをPandasデータフレームに追加します
以前はリクエストをいじってから、データを編集して送信できるようにしていました。微調整が必要な場合は試すことができます(これについては以前にhabr.com/ru/post/445734で説明しました)
。それ以外の場合は、はるかに簡単な方法があります-私のpythonパッケージyadirstat。(それに関するレビューhabr.com/ru/post/512902)。使用する場合は、トークン、ログイン、日付を入力すると、何も変更する必要のない既製のデータフレームが得られます。
コードは次のようになります。
from yadirstat import yadirstat
x=yadirstat.yadirstat.campaign('FFFFFfffffFFFFggggGGGgg', 'client123123','2020-05-10','2020-07-15')
print(x)
Google BigQueryにデータを送信する
これは、DataStudioでの後続の視覚化のためにデータを収集する最も明白な方法です。これらはペアで完全に機能する
ためです。送信には、パッケージ「pandas_gbq」を使用します
。コードは次のようになります。
import pandas_gbq
pandas_gbq.to_gbq(x, 'YD_Days.test', project_id='red-abstraction-99999999',if_exists='replace', progress_bar=None)
データが上書きされるのはなぜですか?総局の統計は時間の経過とともに調整される可能性があり、単に新しい用語を追加すると、統計に不一致が生じます。
それでは、情報がBigQueryに送信されたかどうかを確認しましょう。すべてがうまくいけば、それらのタイプのフィールドのそのようなセットがあります
Google BigQueryのデータに基づいてDataStudioで視覚化を構築する
これを行うには、Big Queryでクエリをすぐに作成して、すべてのデータを取得できます。
「クエリをテーブルに送信」を押し、SELECTの後に「*」を追加して制限を削除します。クエリは次のようになります:“ SELECT * FROM` red-abstraction-239999.YD_Days.test`”
DataStudioでGoogleBigQueryに接続する
ソース
を変更すると、次のフィールドが表示されます。正しく集計するには、次のフィールドを変更する必要があります。
- AvgCpc
- 変換速度
- CostPerConversion
- センター
なぜこれが行われるのですか?
次のデータを含む2行がある場合、例としてCPCの使用を検討してみましょう。
- 100クリック-クリックあたりのコスト100ルーブル-コスト10000
- 2クリック-クリックのコスト-10ルーブル-20ルーブルのコスト
通常の平均では、CPCは2行になっています55
したがって、正しいCPCを取得するには、すべてのコストをすべてのクリックで割ります。この場合、CPCは98.2になります。
これらのフィールドを非表示にして、アナログを追加するだけです。
- CPC = SUM(コスト)/ SUM(クリック)
- CTR = SUM(クリック数)/ SUM(インプレッション数)* 100
- %コンバージョン= SUM(コンバージョン)/ SUM(クリック)* 100
- 変換コスト= SUM(コスト)/ SUM(変換)
「AvgPageviews」列はまったく使用していません。Yandex
はいくつかの追加データに基づいて異なる統計を使用するため、バウンス率は非常に複雑な列です。
要するに、私は次の式を使用します。これにより、Yandexが示すものからの最小偏差が得られます。
%バウンス率= SUM(Bounce_clicks)/(SUM(クリック)/ 100)。
ここで、Bounce_clicksは、各行でバウンスされたクリックの数です。
ただし、この質問はこの記事の範囲を超えています:)
この段階では、次の一連のフィールドが表示されます。
視覚化
クライアントごとに、一般情報とキーに関する情報の2つのページを作成します。
最初のページから始めましょう-一般的な情報
ここに私は投稿します:
- 日ごとの費用でスケジュール
- 日付別の統計を含む表
- キャンペーン別の統計の表
- 昨日の統計(クリック数、コスト、クリックあたりのコスト)を含むダッシュボード
まず、ユーザーが自分で日付を選択できるように、隅に日付範囲を配置します。
次に、コストを含むスケジュールを追加します。
次の設定を設定します。
このようなグラフを取得
する日付のあるテーブルの場合は、次の設定を行います。
キャンペーンのあるテーブルの場合は、[日付]パラメーターをキャンペーンの名前に変更します
。ダッシュボードでは、要約を使用します。その結果
、統計を含む次のページが表示されます。
キーワードの統計を取得します。
すべてが同じですが、リクエストは次のようになります。
import pandas_gbq
from yadirstat import yadirstat
x = yadirstat.yadirstat.criteria('AgAAAAI',client-12247235,'2020-05-10','2020-07-15')
print(x)
pandas_gbq.to_gbq(x, 'YD_criteria.test', project_id='red-abstraction-21239254613',if_exists='replace', progress_bar=None)