بنقرة واحدة
google-ads-create-campaign
Use when creating a Google Ads campaign. Loaded after the create master skill.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating a Google Ads campaign. Loaded after the create master skill.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when researching competitor ad creatives: find competitors, brand IDs, evergreen winners, breakout winners, pattern analysis.
Use when generating Word documents (.docx). Uses the marble_docx API.
Use when generating PDF documents. Uses the marble_pdf API.
Use when generating PowerPoint presentations (.pptx). Uses the marble_pptx API.
Use when generating Excel workbooks (.xlsx). Pandas + openpyxl patterns for multiple sheets, number formats, freeze panes, formulas.
Use for any GA4 query whose result will be reported back to the user. Covers conversions ≠ transactions distinction, channel-subset-sum trap with sessionDefaultChannelGroup, intraday partial-data discipline, Paid Social aggregation rules, API-vs-UI attribution mismatch.
| name | google-ads-create-campaign |
| description | Use when creating a Google Ads campaign. Loaded after the create master skill. |
Tools: google_ads_propose_create_campaign, google_ads_propose_update_campaigns. The tool schemas describe shape and types; this skill covers the business rules they don't.
Each entity type has its own propose call. Capture new campaign IDs from the execution result before moving to ad-group.
ENABLED. The spend gate is the ad layer (see ad), not the campaign.ENABLED and PAUSED. Don't propose REMOVED — we don't expose entity removal.advertising_channel_type: SEARCH only.bidding_strategy_type: MAXIMIZE_CLICKS, MAXIMIZE_CONVERSIONS, MAXIMIZE_CONVERSION_VALUE, TARGET_CPA, TARGET_ROAS, TARGET_SPEND, MANUAL_CPC.| Need | Probe |
|---|---|
| Currency for budget | SELECT customer.currency_code FROM customer |
| Smart-bidding eligibility | SELECT customer.conversion_tracking_setting.conversion_tracking_status FROM customer |
| Reusable budget | SELECT campaign_budget.id, campaign_budget.name FROM campaign_budget WHERE campaign_budget.status = 'ENABLED' |
conversion_tracking_status is NOT_CONVERSION_TRACKED and the user requested TARGET_CPA / TARGET_ROAS / MAXIMIZE_CONVERSIONS / MAXIMIZE_CONVERSION_VALUE, fall back to MAXIMIZE_CLICKS and tell the user once: "Account has no conversion tracking — switching to Maximize Clicks. Set up conversion tracking to use smart bidding."target_cpa only applies under TARGET_CPA or MAXIMIZE_CONVERSIONS.target_roas only applies under TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.target_cpa and target_roas on the same campaign.end_date after 2037-12-30 → block, cite Google's sentinel.end_date ≤ start_date → block.daily_budget as a number; the propose tool converts to micros.negative_keywords[] seeds CampaignCriterion negatives at creation time. Two non-schema rules:
(text, match_type) — duplicates rejected.google-ads-create-negative-keyword-list instead.The schema enumerates which fields are mutable. Notable extra rules:
daily_budget updates flow through the linked CampaignBudget (one CampaignBudget can back multiple campaigns; an update affects all of them).bidding_strategy_type switches reset learning — warn the user once before proposing.geo_changes[] and negative_keyword_changes[] are add-only in this skill set. We don't expose criterion removal — if the user wants to undo a geo target or campaign-level negative they previously added, tell them to manage it in the Google Ads UI.error_code | Meaning | Fix |
|---|---|---|
| 601 | Validator rejected the payload | Read validation_errors[], fix the root cause, re-propose once |
403 / PLATFORM_API_FAILURE | Google rejected — usually policy / permission | Surface to user; needs Ads UI fix |
Done. Created campaign
<name>(id<id>) ENABLED, daily budget<currency> <amount>, bidding<strategy>. (No spend yet — ads under it are PAUSED until enabled.)
One line per campaign in batched calls.