بنقرة واحدة
google-ads-create-ad-group
Use when creating a Google Ads ad group. Loaded after the create master skill.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating a Google Ads ad group. 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-ad-group |
| description | Use when creating a Google Ads ad group. Loaded after the create master skill. |
Tools: google_ads_propose_create_adgroup, google_ads_propose_update_adgroups. Tool schemas describe shape; this skill covers the business rules.
Capture campaign_id from the prior propose-create-campaign execution result. Never invent it.
ENABLED. The spend gate is at the ad layer.ENABLED and PAUSED only. No removal.adgroup_type: SEARCH_STANDARD only.(text, match_type) across both keywords[] and negative_keywords[].cpc_bid_micros only affects serving when the parent campaign uses MANUAL_CPC. On smart-bidding campaigns it's a no-op — tell the user.PAUSE / ENABLE / CHANGE_MATCH_TYPE) require criterion_id. We don't expose keyword removal — to stop a keyword from serving, PAUSE it. If the user named the keyword instead of giving an ID, probe first:SELECT ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status
FROM ad_group_criterion
WHERE ad_group.id = <adgroup_id> AND ad_group_criterion.type = 'KEYWORD'
resource_name (e.g. customers/<cid>/userLists/<id>). Probe via SELECT user_list.resource_name, user_list.name FROM user_list if the user gave a list name.error_code | Trigger | Fix |
|---|---|---|
| 601 | Empty keywords, dupe, count >30, schema validation | Read validation_errors[] |
| 403 | Parent campaign suspended, ad-group-name dupe within campaign | Surface to user — needs Ads UI fix |
Done. Created ad group
<name>(id<id>) under campaign<campaign_name>with<n>keywords. ENABLED.