I have this Python function to call a basic campaign statistics report.
def main3(client, customer_id):
ga_service = client.get_service("GoogleAdsService")
query = """
SELECT
campaign.id,
campaign.name,
ad_group.id, metrics.impressions, metrics.clicks, metrics.cost_micros,
metrics.conversions, metrics.impressions, segments.date,
ad_group.name, metrics.view_through_conversions
FROM ad_group
WHERE segments.date BETWEEN '2017-05-15' AND '2022-09-28' """
# Issues a search request using streaming.
stream = ga_service.search_stream(customer_id=customer_id, query=query)
data_dict = {}
for batch in stream:
for row in batch.results:
data_dict.update({row.segments.date: {"Campaign Name":
row.campaign.name,
"clicks": row.metrics.clicks,
"conversions": row.metrics.conversions,
"costs": row.metrics.cost_micros ,
"impressions": row.metrics.impressions,
"ad group":
row.ad_group.name,
"View Through Conv": row.metrics.view_through_conversions}})
return data_dict
But the new call that I have returns info like the second picture.
There is a whole month/date of information missing. How do I change the API call to give me the right segmentation?
Thanks.