Skip to main content
Glama

Create campaign

create_campaign

Create a manual tracker campaign. Only name is required — domain defaults to the workspace default, cost model to none, rotation to by_position. Give offer_id (and optionally landing_id) to build the default flow with that single destination, or send a full flows tree (flows → rules → destinations; see get_campaign include=flows for the shape). Returns the campaign with its click_url.

Input Schema

NameRequiredDescriptionDefault
nameYes
tagsNoTag ids (see list_tags)
aliasNoShort code used in the click URL /c/{alias}; generated when omitted. Globally unique.
flowsNoRouting tree, evaluated in order. Exactly one flow should be is_default (catch-all, no rules). On update the list is complete: rows match by id, omitted rows are deleted.
notesNo
pixelsNoAttached conversion pixels (complete list on update)
group_idNo
offer_idNoCreate shortcut: route the default flow to this offer (ignored when flows is sent)
cost_typeNoHow click cost is booked (auto = from the {cost} macro)
domain_idNoTracking domain (see list_domains; defaults to the workspace default on create)
postbacksNoCampaign-level outgoing postbacks (complete list on update)
cost_valueNoCost per click / per 1000 (cpc / cpm) or per conversion (cpa); % for revshare
landing_idNoCreate shortcut: show this landing before the offer (needs offer_id)
auto_metricNo
sticky_flowNoCookie-pin a returning visitor to the flow and destination they got first (priority flows still win)
site_list_idNoSite list attached to the campaign
traffic_lossNo0–100 % traffic-loss compensation; null = inherit the traffic source
cost_currencyNoDefault USD
flow_rotationNoauto = EPC/CR bandit split of each flow's destinations
network_linksNoIds of campaigns already running on the campaign's API traffic source, exactly as the network shows them — network actions (start/stop, stats, bids, lists) then act on them. Complete list: replaces the manual links, [] clears them, omit to leave them as they are. A link turns a manual campaign into an api one; removing the last turns it back. Ignored for sources without an API connection.
remember_offerNoKeep a returning visitor on the offer they first got
auto_min_clicksNoauto rotation: clicks before exploiting (default 100)
back_button_urlNoBack button target http(s) URL, macros allowed (target = url)
uniqueness_modeNo
uniqueness_scopeNo
backup_domain_idsNoOrdered failover pool for automatic domain switching (max 20)
traffic_source_idNo
uniqueness_periodNoHours (1–8760, default 24)
back_button_targetNoBack button: where a visitor pressing Back on a served landing / PWA install page is sent; null = off
auto_explore_percentNoauto rotation: exploration share 0–50 (default 10)
back_button_offer_idNoBack button target offer (target = offer)
back_button_campaign_idNoBack button target campaign (target = campaign; not the campaign itself)
sticky_flow_keep_click_idNoSticky flow: a return visit resumes the original click id instead of minting a new click
sticky_flow_skip_inactiveNoSticky flow: route afresh when the sticky flow is paused (default true); false keeps serving it

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the write/non-idempotent/non-destructive profile, so the description's job is to add context — and it does: the defaults applied when fields are omitted (domain, cost model, rotation) and the fact that the response includes click_url. It does not mention permission requirements or what happens on alias collision beyond the schema note, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the core action, then defaults, then the two build paths, then the return value. Dense but every clause carries information; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 34-parameter tool with no output schema, the description covers the essentials: required minimum, defaulted behavior, the shortcut-vs-full-tree decision, and the return value (campaign with click_url). It leans on get_campaign for the flows shape rather than restating it, which is appropriate, though a pointer to get_campaign_preflight-style validation or alias uniqueness handling is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 79%, so the schema already carries most parameter meaning; the description adds value by stating only name is required, naming the three defaults, and pointing to get_campaign include=flows for the flows tree shape. That is real added meaning but it does not fill the remaining ~21% of undocumented parameters, so it sits at the baseline rather than above it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: 'Create a manual tracker campaign.' The word 'manual' implicitly separates it from create_campaign_from_meta and clone_campaign, but no sibling is named explicitly, so the distinction relies on the agent inferring it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear routing between the two creation modes: the offer_id/landing_id shortcut for a single destination versus sending a full flows tree, and notes offer_id is ignored when flows is sent. It does not say when to prefer clone_campaign or create_campaign_from_meta over this tool, so sibling-level guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources