We have identified an issue with the Microsoft Advertising Top impression fields that may cause discrepancies in the final results obtained by Supermetrics.
This issue happens to the following fields specifically:
- Top impression rate
- Absolute top impression rate
In some cases, the API does not return a value for the field on a specific day, so when processing the rate over multiple days that is split by a date-based dimension, it changes the calculation. This then may not match what is shown in the reporting UI for the same period, as the reporting UI is able to fetch the missing day somehow.
Demonstrating the Issue
We will walk through what we tested to verify the issue, and hopefully this demonstrates what appears to be happening between the API and the UI.
First we pull two separate days of data for the Top impression rate and Absolute top impression rate in the Microsoft Advertising report UI:
January 10th, 2020
January 11th, 2020
You will note that we get no values for the Top impression rate and Absolute top impression rate for the January 11th data from the reporting UI. Running the same query in Supermetrics also results in the 11th missing values, so this matches as expected:
Now if we run the same basic request in the reporting UI for the range of January 10th to 11th, we get this returned, which is different than just the results for January 10th:
Running this same date range in Supermetrics returns the same as the January 10th only query and does not align with the reporting UI.
What seems to be happening is that when breaking down by week in the example, but not using a full week, we have to fetch the daily values for each day and then sum them. As we don't get data for January 11th from the API, as shown above, we cannot add it into our calculation for these fields, so the result for Top impression rate and Absolute top impression rate for both days only includes the one day we can get data for.
There are some setups that don't appear to have this problem, so we would recommend that you use one of these if you experience the discrepancies with the impression rate fields:
- Splitting the data by "Date" dimension, as it could get true values for each day
- Not splitting by any date-type dimension, as it would get the true value for the whole period and match the total in the reporting tool
- Using the full period if breaking down by a date-type dimension, for example fetching "Last month" as the date range and using "Month" as a date dimension resulted in correct values.