Skip to main content

🧾 POS integration & ROI (Enterprise)

Link in-store sales to kiosk and footfall activity to understand ROI. POS integration is offered as a bespoke enterprise feature.

Leo avatar
Written by Leo
Updated over 5 months ago

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

  1. Location match: POS location equals kiosk location

  2. Time window: POS timestamp falls within the configured window after a kiosk interaction or funnel goal

  3. 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

  1. Share your POS field sample and data dictionary

  2. Confirm store ID mapping to Merlin Cloud locations

  3. Choose the attribution window and product match rule (SKU or category)

  4. Pick the integration method: API, webhook, or secure file drop

  5. Decide on reporting currency and FX handling (optional)

  6. 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

Did this answer your question?