Debugging Discrepancies in Alli Data Library
Overview
Alli Data Library consolidates views of several datasources. If the data in Data Library does not match the corresponding metrics in a platform there are a few troubleshooting steps that can be taken to ID and resolve the discrepancy quickly.
Debugging Steps
Verify and focus the SQL
Verify that the latest data has loaded
Verify that the Data Library app has executed successfully since the latest data load
Reach out to the Data Engineering team
Verify and focus the SQL
Double check that the same filters being applied in the platform UI are applied to the Data Library SQL-query.
Trim the SQL down to the smallest query that produces the discrepancy. For example, focus on the limited date range or the set of dates that are incorrect in Data Library, focus on the 1 or several specific account(s), campaign(s), or ad group(s) for which the issue is present, or focus on the metrics and breakouts that are incorrect.
This often reveals the source of the discrepancy. For example, if the issue is limited to a set of campaigns all under the same account it might be that this account was accidentally de-selected from the underlying datasources. In such a case you can file an ASD ticket to have that account (or any brand new one) added to Data Library: Alli Data Library - Add Accounts
Verify that the latest data has loaded
Data Library is a set of views that consolidate different datasources. If the data in the underlying datasources is incorrect it will also be incorrect in Data Library.
For example, if the discrepancy is Verizon data in the {client}_core.display_campaign
view, investigation should begin at the {client}.verizon_insights_ad
datasource (green line).
If the data in this raw datasource matches the UI but does NOT match display_campaign
, then the issues lies in the data processing that creates display_campaign
and the Data Engineering team should be notified of this bug in Data Library.
If the data in this raw datasource does NOT match the UI but matches display_campaign
, then Data Library is likely fine. The resolution would be a backfill of the raw datasource in order to load the latest data, or (far less likely) a change in the platform connector within Alli Data.
Backfill the datasource for the affected date range and re-check against the UI once the data has loaded.
Notes on data lineage can be found in the Alli Data Library space. You can also reach out in #alli-data-library.
Verify that the Data Library app has executed successfully since the latest data load
Data Library is mostly view-based, which means that it reflects the data in the underlying tables at all times, regardless of app state. But a few data sets do require Data Library to refresh before they will reflect the latest data. For example, product feed data models.
Data Library refreshes at least once per day in the early morning shortly after most data loads. You can check the status of the latest Data Library app execution in the client’s Alli Marketplace space.
The app follows the naming convention - Alli Data Library - {target database goes here} - {client name goes here}
. So, the Redshift version of the Data Library app for a client named “Acme” would be Alli Data Library - alli-redshift-prod - Acme
, and the BigQuery version would be Alli Data Library - bigquery-prod - Acme
.
If the data in question depends on a new execution of Data Library, check that the app has run successfully today.
If the latest execution has failed the Data Engineering team will have already been alerted.
If the data in question requires a Data Library refresh you may trigger an execution yourself. This is sometimes required if raw data loads into the underlying datasources too late for the regularly scheduled execution to catch.
Reach out to the Data Engineering team
If the SQL is vetted, the data in the raw tables matches the UI, the latest Data Library app execution post-load was successful, and Data Library still shows a discrepancy the Data Engineering team can investigate.
Reach out in the #alli-data-library channel and ping @support-alli-data-library with an ASD ticket detailing
The SQL that is querying Data Library and returning incorrect results, as editable text.
The correct target metrics in the platform as a screenshot of the platform UI or as a link to a dash, tracker, or platform page.
Log the ASD ticket with Report a Bug and check Feature Data library. Including the items above. If there is no query or validation on what the data should be, the team will request it and it will delay the problem being solved.