curl --request POST \
--url 'https://api.adside.ai/google-ads/mcp#create_google_campaign' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "<string>",
"method": "<string>",
"params": {
"name": "<string>",
"arguments": {
"name": "<string>",
"budget_id": "<string>",
"advertising_channel_type": "SEARCH",
"bidding_strategy_type": "MANUAL_CPC",
"customer_id": "<string>",
"status": "PAUSED",
"target_cpa_micros": 0,
"target_roas": 123,
"enhanced_cpc_enabled": true,
"start_date": "<string>",
"end_date": "<string>",
"target_search_network": true,
"target_content_network": false,
"geo_target_country_codes": [
"<string>"
],
"geo_target_type": "PRESENCE_OR_INTEREST",
"url_expansion_opt_out": true
}
},
"id": "1"
}
'{
"jsonrpc": "<string>",
"id": "<string>",
"result": {
"content": [
{
"type": "<string>",
"text": "<string>"
}
]
}
}Create a Search or Performance Max campaign. Always created as PAUSED by default (safety contract). Requires a budget_id from create_campaign_budget.
curl --request POST \
--url 'https://api.adside.ai/google-ads/mcp#create_google_campaign' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "<string>",
"method": "<string>",
"params": {
"name": "<string>",
"arguments": {
"name": "<string>",
"budget_id": "<string>",
"advertising_channel_type": "SEARCH",
"bidding_strategy_type": "MANUAL_CPC",
"customer_id": "<string>",
"status": "PAUSED",
"target_cpa_micros": 0,
"target_roas": 123,
"enhanced_cpc_enabled": true,
"start_date": "<string>",
"end_date": "<string>",
"target_search_network": true,
"target_content_network": false,
"geo_target_country_codes": [
"<string>"
],
"geo_target_type": "PRESENCE_OR_INTEREST",
"url_expansion_opt_out": true
}
},
"id": "1"
}
'{
"jsonrpc": "<string>",
"id": "<string>",
"result": {
"content": [
{
"type": "<string>",
"text": "<string>"
}
]
}
}API key (sk_live_*) — SHA256 hashed, looked up in Redis. Generate via the web app's workspace settings.