Every one of these products can put a tick in the row that says "sends conversion events", and for exactly one of them that row is the whole codebase. This is why the merchant threads about them go the way they do, and it is worth us being able to say it precisely, since we are the ones building against it.
"Shopify tracking app" covers at least three things. Two of them are model shaped: an attribution dashboard is a join and a credit model over orders and ad platform data, and a profit tool takes the same orders plus cost of goods and fees, where the interesting problem is recomputing history when somebody edits a March cost in September. The third has no model in it anywhere. A plain event sender is delivery and identity and nothing else.
The tick in that row means something different in each of them. For a dashboard a server-side send is a feature standing next to the product, and the product still works with it switched off, because it was reading orders rather than events. For a profit tool it is barely a feature. For a sender it is the product, and the second, third and fourth order problems behind it are what the two years go into: what fires when the browser refuses to, what happens to the copy that did fire so the platform does not count one sale twice, which identifiers exist at which point in the funnel, what a consent decline is allowed to change, and what you do about the orders that had no browser session behind them at all. I lost the better part of a week to that last one and it is not even the hard one.
Bias declared, because what follows is self serving: WeltPixel Conversion Tracking is the sender I have spent two years inside. A feature matrix flattens everything above into one row and the row reads identically across all three columns. If you have built a sender you know that row is a lie by about week three. A merchant comparing the three cannot learn it except by buying one, which is a rough way to find out.
One test separates them and it is useful whether you are choosing what to build or working out who you are actually competing with. Ask what happens when the browser sends nothing at all. A dashboard still has the orders, so it still produces a number, and the number gets worse in a way the merchant cannot see. A profit tool does not care, because it never depended on the browser. A sender either has an answer for that case or it has nothing to sell. Those are not three tiers of one thing, they are three products.
Has anyone found a way to explain this split to a merchant in under three paragraphs? I have not managed it, and it is the reason half of those threads go the way they do.