Why do Composer, Piano Analytics, and Piano DMP give different numbers?

Piano's products each maintain their own data sources, calculation rules, and reporting interfaces. When you compare a number from Composer with the same-looking number in Piano Analytics, or audience sizes between Piano Analytics and Piano DMP, you will sometimes see different values. This is usually a difference in definition, not a bug.

This article explains the most common reconciliation pitfalls and how to think about them.

Composer vs. Piano Analytics

Composer and Piano Analytics measure overlapping but distinct things. Composer measures experiences — exposures, interactions, and the direct conversions tied to a Composer template. Piano Analytics measures all traffic and events across a site, including but not limited to Composer activity.

When you compare A/B test results between Composer's own reporting and an Activation Insights board:

  • Visitor identification differs. Composer typically identifies a visitor by its own cookie. Piano Analytics uses its own visitor cookie (the cX_P family). The two cookies are not the same identifier and may diverge — for example, when a user clears Piano Analytics cookies but retains Composer cookies, or vice versa.

  • Metric scope differs. A "conversion" in Composer is, by default, an experience-attributed conversion. A "conversion" in Piano Analytics (outside of Activation Insights) is any event with a configured goal type. The two definitions overlap for paid Composer conversions but diverge for many other event types.

  • Pageview counting differs. Piano Analytics includes page refreshes in its pageview count; Piano Composer's own reporting may not. This is a recurring cause of small but consistent gaps.

The Tag Inspector browser extension is a Piano Analytics tool — it monitors events sent from the Piano Analytics SDK. It does not see Composer events directly. If you need to inspect Composer event firing, use Composer's own debugging tools rather than expecting Tag Inspector to surface them.

Piano Analytics vs. Piano DMP

Piano Analytics and Piano DMP each compute audience sizes from their own event streams, with different rules:

  • Pageview counting. Piano Analytics includes refreshes; Piano DMP (formerly Piano Insights) does not. This produces consistently larger visit numbers in Piano Analytics than in DMP for the same time range.

  • Visitor identification. Piano Analytics uses unique identifiers (cX_P) that may not match the identifiers DMP relies on. Two systems counting visitors based on different identifiers will rarely produce the same number.

  • Event coverage. Some events are tagged for Piano Analytics but not forwarded to DMP, or are processed by different pipelines with their own consent and privacy rules.

When you build an audience in Piano Analytics and forward it to DMP, the audience size on each side reflects each system's own counting. They are not meant to match exactly. Differences within a small percentage band are expected; differences greater than ~10% usually point to a tagging or configuration issue worth investigating.

How to investigate a discrepancy

  1. State the definitions you're comparing. Before assuming a number is wrong, write down the exact definition each tool uses for the metric you're comparing. Many discrepancies dissolve at this step.

  2. Compare on a controlled segment. Pick a single small segment (one experience, one site, one short time range) and reconcile there first. Small-segment reconciliation is much faster than reconciling global numbers.

  3. Inspect raw events on both sides. Use Tag Inspector (for Piano Analytics) and Composer's debugger (for Composer) to confirm the events you think are firing are actually firing.

  4. Check cookie state. If visitor counts differ, confirm cookie acceptance and lifetime is the same in both products on your test browser.

  5. Open a Support ticket if the discrepancy persists after these checks and exceeds the expected difference band.