# We already run the React SDK, does adding the Croct GTM tag double-track events?

Asked by Selin Aksoy on 2025-07-02. Tags: gtm, events, setup.

Our app uses `@croct/plug-react` with auto tracking enabled, and
we fire some manual events like `goalCompleted` from checkout. Marketing now
wants the Croct tag added to our GTM web container because they already push
Google's recommended events to the data layer for GA4.

My questions:

1) If both the SDK and the GTM tag are active, do events get counted twice?
2) For conversion events like purchase, which source wins in experiment results

I want to avoid inflated numbers before agreeing to the tag.

## 1 answer

### Accepted answer from Dmitri Kovalenko (2025-07-02)

The two do different jobs but they can overlap:

1) The GTM tag listens to Google's recommended events in the data layer and
maps them to Croct events. The SDK with `track: true` auto-tracks its own set
(page views, session events, and so on) plus whatever you fire manually. There
is no built-in deduplication between the two paths, so if your data layer
pushes `purchase` and your code also fires `orderPlaced`, that purchase exists
twice in Croct.

2) There is no "winner", both count. Conversion-indicating events coming
through the tag, such as purchase and generated lead, are tracked as
conversions, exactly like the equivalent SDK events. Duplicates would inflate
experiment goals.

The practical rule: pick one source per event family. Since you already
instrument commerce events in code, I would keep the SDK as the source for
those and either skip the tag or scope its trigger so it does not fire the
overlapping events. If marketing mainly wants lead-gen events that your code
does not track, let the tag own that family and remove any manual equivalents.
