Jak PBI optimalizuje dotazy do Google Analytics?

15.06.2017

Častou otázkou je, jak bojuje PowerBI Desktop při spojení s Google Analytics se samplingem - tedy situací, kdy nám GA vrací výstupy pouze na základě zlomku sessions.

Vzorkování nás začne trápit při přístupu přes GA API pakliže:

  • Nemáme Google Analytics 360
  • Stahujeme data, která vychází ze statisíců sessions
  • Nepracujeme s běžnými pohledy, které má GA v cache
  • Google API má špatnou náladu

Pojdmě si to tedy vzít krok po kroku. GA konektor v PBI Desktop pracuje se starším Core Reporting API v3 nikoliv s nejnovější verzí Reporting API v 4. Na vzorkování verze API ale vliv nemá.

Při vytvoření query nám PBI automaticky nabere veškerá data z GA účtu. Toto chování může být zásadní problém pro účty běžící několik let -> miliony sessions -> obrovské vzorkování dat a prakticky nulová přesnost. Nedává smysl počítat obrat eshopu na základě 3 % všech sessions.

Jak se chová Power BI pokud data stáhneme a následně v Query Editoru omezíme jen na několik dní/týdnů?

Překvapivě inteligentně. Díky lazy evaluation a dalším vlastnostem jazyka M pošle query editor na GA API skutečně jen request na omezené časové období.

Podobně si PBI počíná i při omezení výstupu napríklad podle Source/Medium.

Pro otestování jak moc GA API sampluje vaše requesty za konkrétní období a s konkrétními materikami / dimezemi můžete použít oficiální API Query Explorer od Google (nemá nic společného s MS Query Editorem).

Výstupem tedy je, že se data do Power BI dostávájí stejně samplovaná jako do jakékoliv jiné služby využívající GA API. Většina služeb, která chce samplingu předejít, stahuje data zvlášť po jednotlivých dnech. Jak k tomuto postupu přesvědčit Query Editor se dozvíte v následujícím článku.

PS: Pro přesné odchytávání dotazů PBI na GA API byl použit Fiddler.