Origins are clicks and leads, the first record of a visitor. PalDock counts one visitor once, so repeated clicks and repeated submissions do not inflate your numbers.
This is not the same as deduplication based on the advertiser’s ID, which stops an advertiser reporting the same order twice. That happens later, on the conversion. Origin deduplication happens at the start, and it needs no external ID.
Nothing is deleted. Duplicates are stored and marked, so you can always see what arrived and what was counted.
Click deduplication
Each click is compared against the previous ones. It is marked as a duplicate when all of these match:
- Same IP address
- Same user agent
- Same offer
- Same affiliate
- Within 1 hour of the original click
Together these form the visitor’s fingerprint. The window is fixed at one hour and cannot be changed. The visitor is still redirected as normal. The click simply does not count as a new one.
A unique affiliate click ID does not change this. A click carrying its own cid is still a duplicate if the fingerprint matches. A new ID does not make a new visitor.
Lead deduplication
Leads work differently, because the same person can legitimately send several leads. PalDock separates two questions: was this lead sent twice by mistake, and have we seen this person before.
Duplicate leads
A lead is treated as a duplicate when all of these match:
- Same offer
- Same affiliate
- Same form data, all filled fields identical
- Within the duplicate window, 5 minutes by default
A duplicate lead is stored with the state Failed and the reason Duplicate. It is not distributed, not paid on, and not counted in your lead totals.
Two things worth knowing:
- The window runs from a successful lead only. If a lead fails and the affiliate corrects it and resends, the corrected one goes through. Only accepted leads block a repeat.
- Any change to the data makes it a new lead. This check looks at the whole form, so a single corrected digit means it is no longer the same lead.
The window is set in Workspace Settings. Raising it above a few minutes rarely helps. If you want to refuse people you accepted last month, that is lead uniqueness, below.
Lead uniqueness
Uniqueness answers whether this person has appeared in this product before, over days or months rather than minutes.
- The identifier is a field or a combination of fields you choose, because what identifies a person differs by product. Email and phone by default, a national ID number for loans, a licence plate for car insurance, address and email for utilities.
- It is set on the structure, since that is where the fields live, and the behaviour is set on the offer or product. A workspace default applies where nothing more specific is set.
- The affiliate is not part of the match. The question is whether you have this person, not whether that partner brought them before.
- The window is configurable, 90 days by default, or lifetime.
PalDock records two states for each lead:
- Seen: this person already appeared in the product, in any state.
- Sent: this person was already delivered to an advertiser.
Uniqueness on its own changes nothing. It marks the lead and makes it available to filters, where you decide whether to refuse repeat leads, and to reports. The identifier is stored as a hash, never as the raw value, so anonymising a lead does not break uniqueness.
Related leads
One person often produces several leads in a short time, for example when an affiliate queries several offers in sequence, or sends the same person to a different product.
These are not duplicates and they are all processed normally. They are linked to the first one, and the lead log has a filter to show only the first lead of each group, so a person who generated twenty rows can be read as one.
What your reports show
Three metrics, three meanings:
- Gross clicks and gross leads: everything that arrived, duplicates included.
- Clicks and leads: what was counted, after duplicates.
- Unique leads: how many of those were the first from that person in the product.
Your own numbers may be higher than ours. Two events on your side can resolve to one here. Nothing is lost, the same person is counted once, which is the point.
When it gets in the way
- Testing. Repeated test clicks from one machine collapse into one, and repeated test leads with identical data are refused. Change the network or the browser, vary the form data, or wait out the window.
- Shared networks. Visitors behind one office or mobile gateway share an IP, but the user agent usually differs, so genuine visitors stay separate.
- Legitimate repeat customers. Someone who really does apply twice in five minutes is refused. That is the trade-off of a short window, and it is why the window is short.

