p202 system traffic-source-owners split

Give each user whose traffic source accounts name a source a copy of their own (asks first)

New in 1.9.79
All commands

01Jobs it does

Each one is a real command line. Copy it, or open it in the builder below to change it.

traffic source shared by two users

Also: give each user their own traffic source, split a shared traffic source

p202 system traffic-source-owners split <ppc_network_id>

02What you get

Pick the shape you need. People get a table. Add --json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats

03Build your command

Pick values and the command line writes itself, quoted and ready to paste.

p202 system traffic-source-owners split

Set flags below; the command updates as you type.

04Flags

1 flag, plus the global flags every command takes.

FlagWhat it does
--force, -fboolSplit it without asking

05How it works

For a source that accounts of more than one user name (owner_has_accounts, several_users), which no move clears. The source stays in the account it is in; each user show lists under named_by gets a new source in their own account with its name, its custom variables and its removed mark, their traffic source accounts move onto it, a report filter of theirs set to the source is set to the copy, and those accounts' clicks are queued for the cron job's report rollup. To have the source end up with another user, move it there first with repair --to-user-id, then split it. It reads the report first, says what it would copy and asks (--force skips the question), and sends back the owner and users it showed: a source that changed since is refused. Nothing is copied for a deleted user. One transaction; logged on the server. Cannot be staged.

Needs an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), whose user may act on the user it is in and on each who gets a copy, and system:write.

06For agents

Running this from an agent

  • Read the same facts as JSON: p202 commands system traffic-source-owners split --json.
  • With AI_AGENT, CLAUDECODE or another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with a hint.
  • Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure, 6 no Pro licence on the install.
p202 commands system traffic-source-owners split --json
{
  "path": "p202 system traffic-source-owners split",
  "use": "split <ppc_network_id>",
  "short": "Give each user whose traffic source accounts name a source a copy of their own (asks first)",
  "long": "For a source that accounts of more than one user name (owner_has_accounts, several_users), which\nno move clears. The source stays in the account it is in; each user `show` lists under named_by\ngets a new source in their own account with its name, its custom variables and its removed mark,\ntheir traffic source accounts move onto it, a report filter of theirs set to the source is set to\nthe copy, and those accounts' clicks are queued for the cron job's report rollup. To have the\nsource end up with another user, move it there first with `repair --to-user-id`, then split it.\nIt reads the report first, says what it would copy and asks (--force skips the question), and\nsends back the owner and users it showed: a source that changed since is refused. Nothing is\ncopied for a deleted user. One transaction; logged on the server. Cannot be staged.\n\nNeeds an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), whose user may act on the user it is in and on each who gets a copy, and system:write.",
  "runnable": true,
  "example": "p202 system traffic-source-owners split 12\n  p202 system traffic-source-owners split 12 --force --json",
  "tasks": [
    {
      "run": "p202 system traffic-source-owners split",
      "phrases": [
        "traffic source shared by two users",
        "give each user their own traffic source",
        "split a shared traffic source"
      ]
    }
  ],
  "flags": [
    {
      "name": "force",
      "shorthand": "f",
      "type": "bool",
      "default": "false",
      "usage": "Split it without asking",
      "required": false
    }
  ]
}