Scope and availability
Supported via custom integration with your POS or stock system.
Integration methods: API, webhooks, or secure file drop after scoping.
Analytics export APIs are not available. This page covers ingest from POS into Merlin Cloud for attribution.
What POS data we accept
Minimum fields:
Transaction ID
Store ID or Location
Timestamp in UTC or with timezone
Line items: SKU, product name, category, quantity, net amount, currency
Optional enrichment:
Basket total, discounts, promotion codes
Staff ID for internal analysis
How we match POS to kiosk activity
We correlate sales with kiosk interactions at the same location within an attribution window.
Deterministic rules
Location match: POS location equals kiosk location
Time window: POS timestamp falls within the configured window after a kiosk interaction or funnel goal
Product match: SKU or category aligns with content viewed or promoted on the kiosk
Recommended defaults
Window: 24 hours last touch for general retail
Quick purchase use cases: 4 hours
Campaign-specific windows can be configured during setup
Kiosk analytics are session based. Matching is at session → basket level, not per identified person.
KPIs and formulas
Attributed revenue
sum(net_amount of matched POS line items)
Attributed transactions
count(distinct Transaction ID with at least one matched line item)
Kiosk Conversion Rate
Already available in dashboards for kiosk goals. Use alongside POS metrics.
ROI
(attributed revenue − campaign costs − device and licence costs) ÷ (campaign costs + device and licence costs) × 100
Uplift (with control period or stores)
(test revenue per hour − control revenue per hour) ÷ control revenue per hour × 100
Multi-currency
Store currency with the POS record
We compute KPIs per currency by default
Optional normalisation to a reporting currency with a daily FX rate feed can be enabled during onboarding
Data freshness
We aim for near real time, though latency depends on the POS
Partial days may be incomplete. Dashboards label same-day figures as provisional where applicable
Privacy and compliance
Do not send buyer names, emails, phone numbers, card PANs, or addresses
Use transaction IDs and product data only
If an order identifier is required for reconciliation, provide a hashed value scoped to your organisation
Merlin Cloud processes data as your Processor under the DPA. No facial recognition. Session-based analytics on kiosks and cameras
Setup checklist
Share your POS field sample and data dictionary
Confirm store ID mapping to Merlin Cloud locations
Choose the attribution window and product match rule (SKU or category)
Pick the integration method: API, webhook, or secure file drop
Decide on reporting currency and FX handling (optional)
Validate on a pilot store and review first-week results
Troubleshooting
Low attribution: widen the time window or switch from SKU to category match
Mismatched stores: verify the POS to Merlin location mapping table
Duplicate revenue: ensure each Transaction ID is unique per day and dedupe at ingest
Currency issues: confirm currency codes on each line item and FX settings
Limitations
No self-serve analytics export APIs
Scheduling of POS-based reports is not available yet
Cameras do not backfill when offline. Kiosks queue and sync later, which can shift timestamps slightly
