# How is Tracker Debugger aggregating the data?

**URL:** <https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423>\
**Category:** Data collection and tags\
**Created:** [December 22, 2022, 10:03am UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423 "2022-12-22T10:03:47Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![YvesBeebole](https://dub1.discourse-cdn.com/flex005/user_avatar/community.piwik.pro/yvesbeebole/32/1022_2.png) [@YvesBeebole](https://community.piwik.pro/u/YvesBeebole)\
**Post date:** [December 22, 2022, 10:03am UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/1 "2022-12-22T10:03:47Z")

</div>

I am sending signup events from our app server.  
The requests contain a User ID for each signup.

Since it is a test environment, some tests might present very similar ua, IP, …  
But the user ID would always be different.

For some reason, in the Tracker Debugger, I am sending two signup events with different User ID, but they always show under one single User ID.

If I search for the User ID not showing in the debugger, it will still show me that some events are there, which is rather confusing:

 ![Screenshot 2022-12-22 at 10.57.52](https://europe1.discourse-cdn.com/flex005/uploads/piwikpro/original/2X/2/2b05553cf04f1b1efe6c13c01e8c2af4667a07e1.png)

In this screenshot, you can see that I am searching for user ID 13400\_1, but the data appearing are defined for the User ID: 13401\_1

---

<div class="post-metadata">

**Author:** ![Admin](https://avatars.discourse-cdn.com/v4/letter/a/3ec8ea/32.png) [@Admin](https://community.piwik.pro/u/Admin)\
**Post date:** [December 22, 2022, 10:53am UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/2 "2022-12-22T10:53:58Z")

</div>

Just tested it and it get’s overridden if both requests are from same workstation. IMO it’s a bug to fix on our end. I’ll coordinate that. For the time being, you have to make sure that whenever user id changes, you have to change also user agent or ip address.

---

<div class="post-metadata">

**Author:** ![YvesBeebole](https://dub1.discourse-cdn.com/flex005/user_avatar/community.piwik.pro/yvesbeebole/32/1022_2.png) [@YvesBeebole](https://community.piwik.pro/u/YvesBeebole)\
**Post date:** [December 22, 2022, 12:47pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/3 "2022-12-22T12:47:37Z")

</div>

Ok.

In a normal context, IP/UA should be different most of the time, but sometimes, colleagues creating two different accounts might have similar IP/UA.

Is it a Tracker Debugger bug? In the sense, are the raw data correct even if the Debugger does not display them correctly?

---

<div class="post-metadata">

**Author:** ![Admin](https://avatars.discourse-cdn.com/v4/letter/a/3ec8ea/32.png) [@Admin](https://community.piwik.pro/u/Admin)\
**Post date:** [December 22, 2022, 1:50pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/4 "2022-12-22T13:50:02Z")

</div>

Our dev team has to check if it’s a global or tracker debugger bug.

You’re right that this happens really rarely, I’d say 99% of cases have only one user\_id per working station. On the other hand, It ruins the entire use case of tracking different users from one household, so we have to fix that.

---

<div class="post-metadata">

**Author:** ![YvesBeebole](https://dub1.discourse-cdn.com/flex005/user_avatar/community.piwik.pro/yvesbeebole/32/1022_2.png) [@YvesBeebole](https://community.piwik.pro/u/YvesBeebole)\
**Post date:** [March 30, 2023, 4:07pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/5 "2023-03-30T16:07:33Z")

</div>

Hello,

Did you make any progress on this bug?  
I have some more data to show if they are interested.

The problem is not in the tracker debugger but should be global, as far as I see.

Because, later, in the reports, the data will also show wrongly.

Here are 3 examples of payload sent to the API for goals

```auto
idsite=xxx&rec=1&url=https%3A%2F%2Fxxx.com%2F&action_name=signed_up&r=1679502635933&cdt=2023-03-22%2013%3A52%3A08%2B00&_id=d1ec71bdecafcea2&uid=13456_1&cip=2a02%3Aa03f%3Ab9ef%3A3400%3A4839%3A3356%3A2149%3A6fc4&ua=Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F111.0.0.0%20Safari%2F537.36&idgoal=f3e2a852-964e-476d-b583-9d241c7e561b&dimension1=13456&dimension2=fr&uia=0
idsite=xxx&rec=1&url=https%3A%2F%2Fxxx.com%2F&action_name=signed_up&r=1679502636671&cdt=2023-03-22%2013%3A26%3A38%2B00&_id=48d0f0ab6e076f7a&uid=13455_1&cip=2a02%3Aa03f%3Ab9ef%3A3400%3A4839%3A3356%3A2149%3A6fc4&ua=Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F111.0.0.0%20Safari%2F537.36&idgoal=f3e2a852-964e-476d-b583-9d241c7e561b&dimension1=13455&dimension2=fr&uia=0
idsite=xxx&rec=1&url=https%3A%2F%2Fxxx.com%2F&action_name=signed_up&r=1679502636929&cdt=2023-03-22%2013%3A25%3A10%2B00&_id=48d0f0ab6e076f7a&uid=13454_1&cip=2a02%3Aa03f%3Ab9ef%3A3400%3A4839%3A3356%3A2149%3A6fc4&ua=Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F111.0.0.0%20Safari%2F537.36&idgoal=f3e2a852-964e-476d-b583-9d241c7e561b&dimension1=13454&dimension2=fr&uia=0

```

and the result in the reports:

 ![Screenshot 2023-03-30 at 18.01.26](https://europe1.discourse-cdn.com/flex005/uploads/piwikpro/original/2X/2/26fa45f8af7a05efb83e004f65125967af64e828.png)

---

<div class="post-metadata">

**Author:** ![YvesBeebole](https://dub1.discourse-cdn.com/flex005/user_avatar/community.piwik.pro/yvesbeebole/32/1022_2.png) [@YvesBeebole](https://community.piwik.pro/u/YvesBeebole)\
**Post date:** [March 30, 2023, 4:11pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/6 "2023-03-30T16:11:21Z")

</div>

It would seem logical to me that User ID is the absolute identifier above UA and IP.

Also, there was something unclear to me.

I am getting the Visitor ID on the website and send it to the API via the \_id parameters as explained in the API doc: [Tracking HTTP API — Piwik PRO Analytics Suite 16.39 documentation](https://developers.piwik.pro/en/latest/data_collection/api/http_api.html)

But in the reports, the ID will appear as a Cookie ID and not as the visitor ID, which is coming from an unknown place (I am guessing your internal logic with IP and UA)

---

<div class="post-metadata">

**Author:** ![Admin](https://avatars.discourse-cdn.com/v4/letter/a/3ec8ea/32.png) [@Admin](https://community.piwik.pro/u/Admin)\
**Post date:** [March 30, 2023, 4:44pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/7 "2023-03-30T16:44:47Z")

</div>

Hi. We’re currently working on improvements and a bit more control when it comes to the used identifiers when user id is set. I don’t have the ETA yet.

When it comes to the second question, the visitor ID is not always the same thing as cookie ID. If user ID is set, visitor ID is derived from its value.

---

<div class="post-metadata">

**Author:** ![YvesBeebole](https://dub1.discourse-cdn.com/flex005/user_avatar/community.piwik.pro/yvesbeebole/32/1022_2.png) [@YvesBeebole](https://community.piwik.pro/u/YvesBeebole)\
**Post date:** [March 30, 2023, 7:14pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/8 "2023-03-30T19:14:22Z")

</div>

What I try to achieve is the following:

On our website, users are never “identified” with the user\_id.  
We simply use the visitor\_id created by Piwik.

Now, when they signup to our app, a few events are occurring on the server that I want to track. The JS Piwik library is not used on our app server and we don’t plan to use it.

So, by sending these API calls, where the user\_id is defined and so is the \_id, I am hoping to stitch everything together, the website navigation/source/medium, and the APP events.

Is that correct.

---

<div class="post-metadata">

**Author:** ![Admin](https://avatars.discourse-cdn.com/v4/letter/a/3ec8ea/32.png) [@Admin](https://community.piwik.pro/u/Admin)\
**Post date:** [March 31, 2023, 3:56pm UTC](https://community.piwik.pro/t/how-is-tracker-debugger-aggregating-the-data/1423/9 "2023-03-31T15:56:53Z")

</div>

Yes, it makes sense. Is your backend app deployed on the same domain? Are those request sent after visitor’s interaction with the backend or it’s a totally separated task? I’m asking, because you can also read the cookie id server-side. It all depends on your current architecture.

Or, approaching this topic from different angle - is there any identifier that is common both for those anonymous visitor and your backend when sending a request with information about signup?

BTW. if you don’t want to merge events coming from same device/IP, you can simply disable Session ID during development.

 ![image](https://europe1.discourse-cdn.com/flex005/uploads/piwikpro/original/2X/2/2b8c0714878cc7c83c7f3e540c449bb5a6e5f6df.png)
