01Run it
Replace the <placeholders> with your own values, or use the builder below.
p202 attribution journey <conv_id>02What you get
Captured from the real binary, run against a demo store with 30 days of traffic. Switch tabs to see the same run as JSON, the shape scripts and agents parse.
$ p202 attribution journey 31 amount: 208.00000 click_id: 801 conv_id: 31 conv_time: 1790089761 counted: true credits: [{"model_id":1,"model_name":"Last touch","model_type":"last_touch","touches":[{"click_id":801,"credit":"1.00000000","position":1,"revenue":"208.00000"}]},{"model_id":2,"model_name":"First touch","model_type":"first_touch","touches":[{"click_id":668,"credit":"1.00000000","position":0,"revenue":"208.00000"}]},{"model_id":3,"model_name":"Position based (40/20/40)","model_type":"position_based","touches":[{"click_id":668,"credit":"0.50000000","position":0,"revenue":"104.00000"},{"click_id":801,"credit":"0.50000000","position":1,"revenue":"104.00000"}]}] journey: {"built_at":1791539316,"built_lookback_days":30,"identified":true,"touches":2,"truncated":false} pending: recorded_amount: 208.00000 touches: [{"campaign_id":1,"campaign_name":"Spring Collection / US","click_id":668,"click_time":1790013494,"position":0,"ppc_account_id":2,"ppc_account_name":"Search Ads - Shopping","signals":["vid"]},{"campaign_id":1,"campaign_name":"Spring Collection / US","click_id":801,"click_time":1790085190,"position":1,"ppc_account_id":3,"ppc_account_name":"Social Ads - Prospecting","signals":["cust","vid"]}]
$ p202 attribution journey 31 --json { "data": { "amount": "208.00000", "click_id": 801, "conv_id": 31, "conv_time": 1790089761, "counted": true, "credits": [ { "model_id": 1, "model_name": "Last touch", "model_type": "last_touch", "touches": [ { "click_id": 801, "credit": "1.00000000", "position": 1, "revenue": "208.00000" } ] }, { "model_id": 2, "model_name": "First touch", "model_type": "first_touch", "touches": [ { "click_id": 668, "credit": "1.00000000", "position": 0, "revenue": "208.00000" } ] }, { "model_id": 3, "model_name": "Position based (40/20/40)", "model_type": "position_based", "touches": [ { "click_id": 668, "credit": "0.50000000", "position": 0, "revenue": "104.00000" }, { "click_id": 801, "credit": "0.50000000", "position": 1, "revenue": "104.00000" } ] } ], "journey": { "built_at": 1791539316, "built_lookback_days": 30, "identified": true, "touches": 2, "truncated": false }, "pending": null, "recorded_amount": "208.00000", "touches": [ { "campaign_id": 1, "campaign_name": "Spring Collection / US", "click_id": 668, "click_time": 1790013494, "position": 0, "ppc_account_id": 2, "ppc_account_name": "Search Ads - Shopping", "signals": [ "vid" ] }, { "campaign_id": 1, "campaign_name": "Spring Collection / US", "click_id": 801, "click_time": 1790085190, "position": 1, "ppc_account_id": 3, "ppc_account_name": "Social Ads - Prospecting", "signals": [ "cust", "vid" ] } ] } }
03Build your command
Pick values and the command line writes itself, quoted and ready to paste.
p202 attribution journeySet flags below; the command updates as you type.
04For agents
Running this from an agent
- Read the same facts as JSON:
p202 commands attribution journey --json. - With
AI_AGENT,CLAUDECODEor another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with ahint. - Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
{
"path": "p202 attribution journey",
"use": "journey <conv_id>",
"short": "One conversion's journey: its touches, the identity signals that linked them, and every model's credit",
"runnable": true
}