Hiberius

Affiliate Tracker Ops — Development skill for Claude Code

Development community

Agent Skill for affiliate tracking: find where the click id dies between ad, lander, offer and postback.

How to install Affiliate Tracker Ops

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Hiberius/affiliate-tracker-ops and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Affiliate Tracker Ops does

Agent Skill for affiliate tracking: find where the click id dies between ad, lander, offer and postback. Postback validation, verified traffic-source macros, tracker vs platform vs network reconciliation. Zeustrack, Voluum, Binom, Keitaro.

Alternatives in Development

  • Prompt Net Requests — I want to enhance the AsyncPlaywrightCrawlerStrategy to optionally capture network requests and console messag 85.8k ★
  • Career-Ops For Codex — Read CLAUDE.md for all project instructions, routing, and behavioral rules 32.5k ★
  • Offline — PUA 离线模式 — 关闭所有联网反馈/排行榜上报,保留本地 PUA 行为 19.5k ★

README

Affiliate Tracker Ops

**An Agent Skill for the plumbing behind paid traffic: click ids, postbacks, tracking domains and traffic-source macros. Diagnoses why a conversion did not attribute, in three commands. Works with Zeustrack, Voluum, Binom, Keitaro and anything else built on the same click-id model.**

[![License: MIT](https://img.shields.io/badge/License-MIT-2ea44f.svg)](LICENSE) ![Python 3.8+](https://img.shields.io/badge/python-3.8%2B-3776AB?logo=python&logoColor=white) ![Zero dependencies](https://img.shields.io/badge/dependencies-0-6E56CF) ![Trackers](https://img.shields.io/badge/Zeustrack%20·%20Voluum%20·%20Binom%20·%20Keitaro-0f766e)

npx skills add Hiberius/affiliate-tracker-ops

Works with Claude Code, Claude Desktop, Codex, Cursor, Windsurf, OpenClaw and anything else that reads a `SKILL.md`.


The problem

A conversion that does not show up is almost never a tracker bug. It is a broken parameter chain, and there are only four places it can break:

  1. the ad URL macro was never replaced
  2. the lander does not forward the parameter
  3. a redirect strips the query string
  4. the offer expects a different parameter name

Every hour spent guessing between those four is an hour not spent buying traffic.

Find the break

python3 scripts/track.py chain \
  ad=https://t.example/click?clickid=abc123 \
  lp=https://lander.example/?x=1 \
  offer=https://offer.example/?aff_sub=abc123 \
  --param clickid
ad           clickid        ok        abc123
lp           -              missing
offer        s1             ok        abc123

The chain breaks at 'lp' (missing). It was still intact at 'ad', so the problem is in
what 'ad' passes on, not upstream of it.

It follows the **value**, not the key name, so it keeps working while the parameter is renamed from `clickid` to `sub1` to `aff_sub` along the way. That renaming is normal and is exactly what makes these chains hard to read by eye.

One malformed URL, explained