Skip to main content

Data Quality

The Data Quality section monitors the health of the data pipeline feeding the loyalty program. It surfaces ingestion errors, missing fields, invalid values, and API call failures β€” catching problems before they propagate into incorrect points issuance, broken campaign mechanics, or skewed analytics.

This dashboard is the primary tool for technical teams, implementation managers, and anyone responsible for integration health. It shifts the detection of data problems from reactive (a customer calls support) to proactive (an error alert fires before the store closes).

Use Cases​

Use Case
β†’ Detect failed or rejected API calls to the Streaming API before they accumulate into a backlog.
β†’ Identify transactions missing required fields (e.g. customer ID, store code, cart line amounts).
β†’ Monitor ingestion error rates by store or location to find POS systems with misconfiguration.
β†’ Catch schema changes in the upstream POS feed before they break points issuance rules.
β†’ Set up alerts for when error rates exceed a configurable threshold.
β†’ Track the volume of anonymous (non-identified) transactions that could not be attributed to a loyalty member.
β†’ Verify that new integration work (added stores, new POS version) does not introduce regression.

Filters​

FilterDescription
Date From / ToAnalysis window for error and health metrics
CountryFilter by country
StoreRestrict to specific store locations to isolate integration issues
Error TypeFilter by error category (see Error Types below)
EndpointFilter by specific Streaming API endpoint

Dashboard Sections​

Overview​

Summary health metrics for the full pipeline.

KPIDescription
Total API CallsTotal requests received by the Streaming API in the period
Error RateFailed or rejected calls / total calls
Successful CallsCalls that processed correctly and generated a loyalty event
Rejected CallsCalls that returned a non-2xx response β€” includes validation errors, auth errors, and schema errors
Anonymous TransactionsTransactions where a customer was not identified β€” no loyalty event could be generated
Identification RateIdentified transactions / total transactions β€” measures how effectively customers are being recognized at checkout

Error Volume​

Time-series view of error counts, with breakdown by type and location.

KPIDescription
Errors by DayDaily error count trend β€” reveals spikes linked to specific incidents or deployments
Errors by StoreLocations generating the highest error volumes β€” identify misconfigured POS terminals
Errors by EndpointWhich API endpoints generate the most errors β€” helps prioritize integration fixes
Error Rate TrendError rate (%) over time β€” distinguishes growing problems from isolated incidents

Error Types​

Classification of errors by root cause.

Error TypeDescription
Authentication ErrorMissing or invalid X-Api-Key / X-Api-Secret headers
Schema Validation ErrorRequest body does not match the expected API schema (missing required fields, wrong data types)
Unknown StoreStore code in the request does not match any location configured in the platform
Unknown CustomerCustomer identifier not found in the CDP β€” customer has not been created yet
Duplicate Idempotency KeyA request was replayed with the same Idempotency-Key as a prior successful call
Timeout / 5xxServer-side processing error β€” usually transient; monitor for sustained elevated rates
Missing Cart LinesTransaction submitted without product line items β€” cannot apply SKU-based rules
Invalid AmountLine item amounts or totals contain negative, zero, or non-numeric values

Identification​

Detailed view of customer identification rates.

KPIDescription
Identification Rate by StoreBreakdown of identified vs. anonymous transactions per location
Identification Rate by PeriodTrend over time β€” reveals whether customer enrollment campaigns or UX changes are increasing identification
Anonymous Transaction VolumeAbsolute count of transactions where no loyalty event was possible
Top Anonymous StoresLocations with the lowest identification rates β€” candidates for POS UI improvements or staff training

Missing Data​

Fields that are technically accepted but missing or null in the ingested payload.

KPIDescription
Missing Customer EmailTransactions where the customer was identified but email field was absent
Missing CategoryCart lines where product category was not sent β€” impacts Retail analytics and category-based rules
Missing SKUCart lines without a valid SKU β€” affects product-level reporting and SKU-targeted discounts
Missing LocationTransactions without a store code β€” cannot attribute to a location for partner or retail reporting

:::tip Fixing Missing Data Missing data entries in this section indicate that the API call was accepted and processed, but the resulting loyalty event and analytics will be incomplete. Work with your integration team to ensure POS payloads include all recommended fields before go-live. :::

Alerts​

Data Quality supports configurable alert thresholds. When an error rate or missing field rate exceeds the configured threshold, the platform sends a notification (email or webhook) to the designated recipients.

Alert TypeDescription
Error Rate ThresholdTrigger when the hourly or daily error rate exceeds X%
Zero CallsTrigger when no API calls are received from a specific store for more than N hours
Identification DropTrigger when identification rate falls below a configured floor

Alerts are configured in Platform Settings β†’ Notifications.

How It Works​

Data Quality metrics are derived from the Streaming API access logs and the loyalty engine processing pipeline. Unlike the other Loyalty Insights sections (which aggregate business outcomes), Data Quality measures the pipeline itself β€” call counts, response codes, and field presence in the raw payloads.

Data is updated near-real-time (with a 15-minute delay). Use this dashboard proactively during new store go-lives, POS version upgrades, or after any changes to the API integration layer.