Obecnie 172 forumowiczów jest online
Obecnie 172 forumowiczów jest online
Pytania nie pasujące do innych kategorii.
Poprowadź mnie
star_border
Odpowiedz

Łączne dane wyfiltrowanych kampanii + segment - Google AdWords API

Nowicjusz ✭

Używamy zapytań w języku AWQL do pobierania raportów dotyczących działania konta Adwords przez API. Mam spory problem z odpowiednim skonstruowaniem zapytania aby wyciągnąć przez API dane dzień po dniu łącznie z paru kampanii.

 

Chcę przedstawić łączne statystyki tylko dla paru wybranych kampanii z danego konta. Problem jednak jest taki, że jeśli wykonuję zapytanie do raportu dotyczącego konta to nie mogę ustawić filtru po nazwie kampanii. Z kolei kiedy wykonuję zapytanie do raportu dla kampanii to dane dzień po dniu dostaję ale dla każdej kampanii oddzielnie. Chodzi mi o to aby rozbić total tak samo jak rozbijane są poszczególne kampanie. Co ciekawe, w ramach interfejsu AdWords takie dane są do wyciągnięcia od ręki. Jeśli w widoku kampanii dodam filtr na nazwę kampanii i dodam segment "Dzień" to na dole tabeli mam do rozwinięcia węzeł "Wszystkie dane wyfiltrowanych kampanii", który zawiera dokładnie to czego chce.

 

Czy ktoś może mi pomóc w konstrukcji odpowiedniego zapytania? Chciałbym żeby ono wyglądało mniej więcej tak jak poniżej, ale taka konstrukcja zwraca błąd niemożliwości filtrowania po nazwie kampanii.

 

SELECT Date, Clicks, Impressions,
Ctr, AverageCpc, Cost, AveragePosition, SearchImpressionShare
FROM ACCOUNT_PERFORMANCE_REPORT
WHERE AdNetworkType1 = SEARCH
AND CampaignName CONTAINS "SOME_STRING"
DURING ' + start_date + ',' + end_date

Dot.: Łączne dane wyfiltrowanych kampanii + segment - Google AdWords A

Profesjonalista ✭

Raporty na poziomie konta nie obsługują kolumny CampaignName więc nie da się jej ani wybrać, ani po niej filtrować, sortować, itd

 

https://developers.google.com/adwords/api/docs/appendix/reports#account

 

Trzeba tu raczej pobrać dane dla kampanii np:

select CampaignName, Date, Clicks, Impressions, Ctr, AverageCpc, Cost, AveragePosition, SearchImpressionShare
FROM CAMPAIGN_PERFORMANCE_REPORT
WHERE AdNetworkType1 = SEARCH
AND CampaignName IN ['NAZWY', 'KAMPANII', 'DLA KTORYCH', 'CHCESZ POBRAC', 'DANE']
DURING ... , ...

dostaniesz dla każdego dnia tyle wierszy ile zostało wybranych kampanii. Jeśli chodzi o zliczanie total to niestety z tego co mi wiadomo AWQL nie obsługuje takich konstrukcji jak GROUP BY czy podobne więc kwestia obliczenia i wyświetlenia sum dla danego dnia będzie raczej leżała po stronie waszego skryptu

Dot.: Łączne dane wyfiltrowanych kampanii + segment - Google AdWords A

Nowicjusz ✭
Ok, w takim razie pytanie jak poradzić sobie ze statystykami SearchImpressionShare. O ile inne są albo addytywne albo łatwo wyliczalne, o tyle z tą daną mam pewien problem koncepcyjny. Nie mogę wprost wyciągnąć z systemu jaka była liczba wszystkich wyszukiwań dla danej frazy/kampanii. Mogę ją jedynie szacować na podstawie liczby wyświetleń kampanii podzielonej przez SearchImpressionShare przez nią uzyskany. Dostanę wtedy z pewnym błędem to co AdWords używa jako podstawa do wyliczenia tego wskaźnika. Problem jest jednak, kiedy mam więcej niż dwie kampanie dla jednego klienta, które bazują na zbliżonych słowach (np. gorączka - kampania dla dzieci i oddzielnie dla dorosłych). Nie mam pewności, że przy wyliczaniu potencjału poszczególnych kampanii nie będą brane pod uwagę podobne wyszukiwania. Jeśli tak, to "wyliczony" wskaźnik SearchImpressionShare będzie potencjalnie zaniżony względem realnego.

Czy masz z tym jakieś doświadczenie? Czy faktycznie jest to istotny problem? Czy istnieje pewniejszy sposób na wyliczenie wspólnej podstawy tego wskaźnika inny niż sumowanie podstaw dla poszczególnych kampanii?