The disagreement is real, and it is not random
Put two traders on the same NQ session and ask them to read one five-minute bar. One sees 4,812 contracts and a delta of +310. The other sees 5,140 contracts and a delta of +95. Both platforms say they are showing the tape. Neither is lying. They are counting different things, and every number downstream of the count inherits the difference: delta, cumulative delta, the imbalance highlights, the volume profile, the point of control.
That matters more than it sounds. A footprint is not a picture. It is a ledger. If the entries are wrong the reading is wrong, and the reading is what you trade.

Where the extra volume comes from
Messages that are not trades. A market-data feed carries far more than prints. Alongside every trade it sends snapshots, session statistics, volume refreshes and updates to the session VWAP. Many feeds deliver several of those through the same kind of message a trade arrives in, with a size field that looks exactly like a fill. A platform that counts every message with a size in it will count them. The result is volume that appears when nothing traded, usually in quiet minutes, and because it did not happen at the bid or the ask it gets a side from whatever tie rule the platform uses. Delta drifts, all session, in one direction.
This is the first thing to establish about any footprint, and it is why the Chartveil footprint discards snapshot and VWAP-update messages before anything is aggregated: a cell shows executed trades and nothing else.
Who was the aggressor. Delta is ask volume minus bid volume, so every trade needs a side. Some feeds report the aggressor with the trade. Others do not, and the platform has to infer it from the quote at the moment the print arrived: at the ask means a buyer lifted, at the bid means a seller hit. Two platforms inferring from quotes they received a few milliseconds apart will disagree on the trades that happened while the quote was moving, which is exactly when the trades matter. A print between the bid and the ask, or one order that swept several levels at once, is handled by yet another rule. None of these rules is wrong. They are different, and they are rarely written down.
Where the bar starts. The futures session opens at 6:00 PM ET. A platform that starts its day at midnight, or at the cash open, is drawing bars with different edges, and every boundary moves volume from one bar into its neighbour. On a five-minute chart that is a nuisance. On a range bar, which closes on price rather than time, the two platforms will not even have the same number of bars, so there is no bar to compare.
Which contract. In roll week the front month and the next month both trade in size. A footprint on a continuous contract stitched together by one rule and a footprint on the outright are two different ledgers for a few days, and the delta profile built over that week inherits whichever stitch was used.
Live against backfilled. The trades a platform captured live carry whatever the feed sent at the time. The history it filled in later, for a session it was not running, comes from a different request that may carry no aggressor flag at all. The bar you watched form and the same bar reloaded tomorrow are often not identical, and a cumulative delta line that crosses from history into live capture will not always join up.
Four checks you can run on any platform
- Watch a quiet minute. Pick a slow stretch of the overnight session and keep the time and sales open beside the footprint. Volume that lands in a cell with no matching print is a message being counted as a trade.
- Add the columns. For any bar, ask volume minus bid volume must equal the bar's delta, and the two added together must equal the bar's volume. A delta the columns do not support means a side is being assigned somewhere you cannot see.
- Compare session totals. The exchange publishes each session's traded volume. Your footprint's session total will not match it to the contract, because of the session edges and the roll, but it should be close. A total that runs a few percent high every single day is counting something extra.
- Reload the bar. Note a bar's volume and delta while it forms, restart, and read the same bar back from history. The size of the gap tells you how much of what you read live was inference.
What consistency does buy you, and what it does not
A footprint that counts only real trades still has to pick a rule for every case above, and no rule is the one true tape. What you are entitled to is consistency: the same rule applied the same way to every bar, so that the pattern you learned on Tuesday means the same thing on Thursday. That is why two platforms can disagree and both be usable, and why a setup learned on one platform's footprint should be re-learned before it is trusted on another's.
It is also why a footprint number quoted in a chat room is worth less than it looks. Without knowing which messages were counted, how the side was chosen, where the session starts and which contract was used, "delta was +900 into the high" is a sentence with four unstated assumptions in it.
None of this makes a footprint a signal. It is a record of who was aggressive at which price, and whether that meant anything is still your read. The glossary defines every term used above, and the risk disclosure says the rest.
Newsletter
Get updates, offers and events
New features, launch offers and live sessions, straight to your inbox. Unsubscribe any time.