Cxense Advertising uses separate data stores to store data related to budgeting (budgets and account balances) and statistics (impression and click events used to drive reports).
There are a number of business and technical reasons for having these two data stores within the system, with the most important being
-
Process and record data for each event in a timely manner.
-
Structure the stored statistics data for optimal query speed so reports and extracts can be produced quickly.
-
Allow close to real-time monitoring of budget balances to minimise overage after a budget is exhausted.
What data is stored and how is it used?
Budgeting
The term budgeting refers to the financial activity within Cxense Advertising. This includes:
-
Updating account balances with contract setup fees.
-
Updating account balances after a CPC click.
-
Updating account balances for the cost of a contract at purchase time for Tenancy and after completion for CPM).
-
Monitoring and updating budget balances for contract, folder, campaign and ad level budgets.
-
Enabling or disabling ad serving based on budget balances and smoothing.
Budgeting data is exposed in Cxense Advertising in a number of areas:
-
Account balances.
-
The user interface budget viewer and editor.
-
CPM contract impressions served and remaining values.
-
Financial values in the Account Totals and Account Low Budget extracts.
Statistics
The statistics (stats) system is responsible for recording each impression and click event and storing these counts against inventory items. For example, when a click is received, stats will record this click against the creative and the ad space from which the click originated, as well as the creative's parent ad, campaign, advertiser account etc.
Data recorded includes:
-
Event type - impression or click.
-
Event date and time.
-
Any costs for the event (click costs for CPC or impression cost for CPM).
-
If the event was filtered (ie. detected as fraud).
-
If the event was marked as overage. See Budget Overage.
Stats data is exposed in the system via:
-
User interface reports (all advertiser, publisher and product reports are backed by stats data).
-
User interface navigation lists (eg the campaign list will show campaign details including stats).
-
Data extracts (data extracts use stats for click and impression counts - the Inventory Distribution, Operational Finance and Advertiser Creative Performance extracts all use stats for their cost values).
What problems can occur?
After the Ad Server responds to an impression or click event, it passes the event to our event processing chain. There are a number of actions taken for each event during processing, including updating budgets and stats. Problems that occur during this process can result in inconsistencies in the data.
Differences between budgeting and statistics
If an error occurs during the event processing chain, it is possible that budgeting will be updated but the event will not then be applied to statistics. This results in inconsistencies between budgeting and statistics data.
If this problem occurs a difference may be observed throughout the system, wherever budget and statistic data is displayed. For example, a campaign budget may have spent more than shown on the advertising reports for the campaign.
Any differences between budgeting and statistics are typically quite small, but can be significant after periods of serious network or server disruptions.
Differences within the stats "tree"
When an event is sent to the stats system it is recorded against a number of inventory items.
For Advertisers this includes the creative, ad, campaign, account, folder and home container. For Publishers this includes the ad space, folder, account and home container.
If an error occurs whilst processing an event, it may result in inconsistencies in the inventory tree. This means that the advertiser totals may not exactly equal publisher totals, or that different totals may be obtained when grouping by different document types (for example, a report may show different totals when viewing campaigns than when viewing ads).
Continual improvements to the system have resulted in this scenario being very rare and when they do occur, the differences are typically very small.