CJ — Commission Junction, now owned by Publicis — is the biggest affiliate network in the United States, which makes it one of the most common places a brand-bidding affiliate hides. CJ's redirect chains are simultaneously the easiest to spot and the easiest to misread. Easy to spot because they route through a set of deliberately obscure domains you'll never mistake for anything else. Easy to misread because CJ surrounds the one number that matters — the PID — with a look-alike number that isn't the publisher, plus a click token most brands grab by mistake.
Get the PID and you can name the exact affiliate account CJ will investigate and charge back. Grab the wrong number — and CJ's URLs are practically designed to make you grab the wrong number — and your complaint goes nowhere. Here's how to read a CJ chain correctly.
I run AdCrime, which resolves these at scale. Everything here you can do by hand from a redirect chain. The point is knowing which of CJ's three numbers is the publisher — because two of them will fool you.
First, how to know you're even looking at CJ
CJ doesn't route through an obviously branded domain. It uses a rotating set of what affiliate marketers half-affectionately call the "alphabet soup" — short, random-looking domains that exist only to redirect:
tkqlhce.com anrdoezrs.net dpbolvw.net jdoqocy.com kqzyfj.com
If a hop in your redirect chain runs through one of those, you're in a CJ chain — no legitimate site routes through them except CJ tracking. (They're so distinctive that ad-blockers routinely block them, which is its own tell.) When you see the alphabet soup, you know two things: it's CJ, and the publisher you're looking for is the PID.
The one number that matters — and the two that fool you
A CJ link carries three numbers, and only one identifies the affiliate. This is the part brands get wrong, so it's worth being precise, straight from CJ's own "Account Numbers, Explained" documentation:
| Identifier | What it actually is | Use it to enforce? |
|---|---|---|
| PID (or CJPID) | The Publisher ID — the affiliate's property/account on CJ | ✅ This is the one. File it. |
| AID (or CJAID) | The Ad ID / Link ID — identifies the specific link, not the advertiser | ❌ Not the publisher, and not the advertiser either |
cjevent | The per-click event token CJ appends to your landing URL | ❌ Resets every click — useless for ID |
Two traps live in that table.
Trap one: the cjevent. It's the most visible CJ value — it gets tacked onto your own landing-page URL, so it's the first thing a brand sees and grabs. It looks official and specific. It's a click event, regenerated every single click, and it identifies no one after the fact. Hand it to CJ and there's nothing to act on.
Trap two: the AID. This one's sneakier, because "AID" sounds like "advertiser ID," and plenty of people — and plenty of tools — assume that's what it is. It isn't. Per CJ, the AID is the Ad/Link ID: it identifies which creative or link was used, not the advertiser and not the publisher. (Your own advertiser number in CJ is the CID, the company ID — a different value again.) If you file the AID thinking it fingers the affiliate, you've handed CJ a link reference, not an identity.
CJ gives you three numbers and only one is the affiliate. The publisher is the PID. Thecjeventis a click. TheAIDis a link. Miss that and your complaint is unactionable.
Where CJ hides the PID: the click-PID-AID path
Unlike Awin (which names the publisher in a query parameter), CJ puts it right in the path of the redirect URL. The standard CJ click URL looks like this:
tkqlhce.com/click-7654321-12345678?sid=...&url=https%3A%2F%2Fyourbrand.com
└────────┬───────────┘
click-{PID}-{AID}
The path segment after the domain is click-{PID}-{AID}. The first number is the publisher (PID). The second is the link (AID). So in click-7654321-12345678, the publisher you're enforcing against is 7654321 — the first one. The ?url= parameter is your destination; the cjevent shows up later on the landing page itself.
Reading a CJ chain, then, is three steps: (1) spot the alphabet-soup domain, (2) find the click-PID-AID path, (3) take the first number. That's your publisher. If reading redirect chains hop-by-hop isn't reflexive yet, how to read an affiliate redirect chain covers the general skill, and the Awin guide is the sibling to this one for the other big network.
Step 0 you can't skip: your CJ program terms
Same rule as every network: finding the PID only helps if your CJ program terms prohibit the bid. CJ enforces brand-bidding at the program level — the prohibition lives in your advertiser program's terms and PPC policy, and your right to correct the transaction and pursue the publisher flows from that. CJ's publisher service agreement gives an advertiser the right to charge back a payout for a publisher's failure to comply with the program terms — but only if those terms actually prohibit what the affiliate did. Set the policy first; hunt the PID second. (This is the same "have the contract before the evidence" principle from the enforcement workflow.)
What to do with the PID — and the CJ clock (which is friendlier than most)
Once you have a real PID and a program policy that prohibits the bid, you act through your CJ advertiser dashboard (members.cj.com) or — because CJ is the slowest of the major networks on routine complaints — through your assigned CJ account manager, which is the reliable accelerant. Hand them the PID, a timestamped SERP screenshot of the ad on your brand term from the region it ran in, the redirect chain showing the alphabet-soup hop, and the program clause the bid violated.
Now the clock — and here CJ actually gives you more room than Awin's hard auto-validation:
- Standard locking is the 10th of the month following the transaction's event date. After a transaction locks, it can't be edited or voided in the normal flow.
- But you can extend it. On a Standard Locking Cycle, an advertiser can extend a transaction's "New" status for one additional pay period to buy time to review — useful when you're mid-investigation.
- And chargebacks have a longer window. An advertiser chargeback can be applied up to and including the 60th day after the end of the month in which the payout was earned. So a fraudulent commission you catch a few weeks late isn't automatically gone on CJ the way it is on Awin — you have a genuine chargeback runway, if your program terms support it.
The practical sequence on CJ: prohibit it in your program terms → read the PID from the click-PID-AID path → extend "New" status if you need review time → file the correction/chargeback with evidence inside the ~60-day window → push your account manager to terminate the publisher. The hard part, as always, is finding the right number fast — and not handing CJ the cjevent or the AID by mistake.
Mario Vaher is the founder of AdCrime, which scans Google Ads across multiple regions for affiliates bidding on brands they aren't authorized to touch, resolves the redirect chain and publisher ID behind each one, and packages it as the evidence you'd file with the network. If you want to see what's bidding on your brand right now, the first scan is free — or read the full, ungated Affiliate Brand-Bidding Fraud Playbook.