Why would agencies specifically recommend Elevar over Triple Whale for stores that had already documented GA4 duplicate-purchase issues?
The two products sit on opposite sides of the GA4 problem. Elevar writes the event into your GA4 property; Triple Whale reads data into its own dashboard, priced Free, Foundation at $219 per month and Automate at $749 (Shopify App Store, September 2026). Only the tool that writes the event can deduplicate it.
First, a correction to the premise
We have no survey of agency recommendations and we are not going to characterize what agencies "specifically recommend" as though we had measured it. What we can do is explain the mechanism that makes one of these two products relevant to a GA4 duplicate-purchase problem and the other not, which is almost certainly the reason behind whatever pattern you have observed.
What a GA4 duplicate purchase actually is
Google's deduplication rule is short: "Google Analytics deduplicates purchase events with the same transaction ID." Two caveats in the same document do most of the damage in practice:
- "Don't send an empty string as the transaction ID. Google Analytics will deduplicate all purchase events that have
transaction_id=""." - "Transaction ID deduplication only works for data collected through web streams, not app streams."
Per support.google.com/analytics/answer/12313109, September 2026.
So a duplicate-purchase problem is one of three things: two tags both firing a purchase, one tag firing twice because the page was reloaded or revisited, or a transaction_id that is missing, empty or inconsistent between the two senders. All three are fixed at the point where the event is constructed and sent.
Why that points at one category and not the other
| Elevar | Triple Whale | |
|---|---|---|
| Category | Tracking and data-layer pipeline | Analytics and attribution platform, described on its listing as "The AI operating system for commerce" |
| Relationship to your GA4 property | Writes events into it | Does not |
| Can set or normalize transaction_id | Yes | Not in your GA4 property |
| Listing | 4.7 stars, 168 reviews | 4.1 stars, 91 reviews |
| Published pricing | Core $225/mo, Advanced $650, Premium $1,250 | Free $0, Foundation $219/mo, Automate $749/mo |
Per apps.shopify.com, verified September 2026.
The asymmetry is structural. If your GA4 property is double-counting revenue, the fix is to have exactly one system emit the purchase event with a stable transaction ID, and to remove or suppress whatever else is emitting it. A vendor whose product is a separate dashboard cannot do that for you, however good the dashboard is. A vendor who owns the pipe into GA4 can.
This is a category judgment, not a quality judgment. Triple Whale is not failing at something it attempts.
The Shopify-specific wrinkle that creates the duplicates
On the current Thank you and Order status pages, the order identifier changed. Elevar's own guidance: order.{anything} and checkout.order_name "are usually not available when the Thank You page loads" because order creation now happens independently of that page rendering, and the replacement is checkout.order_id, which "is available as soon as checkout is completed and can reliably be used to tie together analytics, downstream systems, and the buyer experience" (docs.getelevar.com, February 2026).
An old tag reading the old field can emit a purchase with a missing or unstable ID. Google's rule then deduplicates by empty string, or fails to deduplicate at all. That is the Shopify-shaped version of this bug and it is why it surged around the checkout migrations rather than appearing evenly over time.
The fix, in order
- Inventory every sender. Theme tags, theme app embeds, Customer Events pixels, and anything a tag manager injects. Count how many can emit
purchase. - Elect one. Usually the server-side pipeline, because it survives ad blockers.
- Suppress the rest. Remove them; do not rely on GA4 to clean up after both.
- Pin the ID. One stable
transaction_idper order, never empty, sourced fromcheckout.order_id. - Verify in GA4's DebugView, then reconcile against Shopify orders for a full week.
When NOT to change vendors over this
- When you have not counted your senders. The duplicate almost always has a name, and it is usually a tag someone forgot to remove during the checkout migration.
- When you already own a working pipeline. Buying a second tracking product to fix a configuration error adds a third sender.
- When the tool in question is a dashboard. Swapping one reporting layer for another leaves the GA4 property exactly as double-counted as it was.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: This is a category question wearing a vendor question's clothes. A duplicate purchase is a write-path defect, so the remedy lives with whatever owns the write path. Choosing Triple Whale over Elevar or the reverse is a decision about reporting and attribution tooling, and it should be made on its own merits, in a separate conversation from the bug.
- What we’ve seen: Duplicate purchases are nearly always two senders rather than one sender misfiring, and the second sender is usually a legacy theme tag left in place as a safety net during a migration. The safety net is the bug.
- Times we’ve shipped this: 7 builds delivered.
- Where we disagree: Vendor comparison content puts Elevar and Triple Whale in the same table because both appear in Shopify's analytics category. They solve different problems and the table implies a substitution that does not exist. We would not let a store replace one with the other without asking which of the two jobs they were trying to buy.
- What this page adds: Google's exact deduplication rule including the empty-string trap and the web-stream-only limit, and the Shopify-specific identifier change that generated this class of bug around the checkout migrations.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.
Where we worked this out
Our decision records
What we’ve built