Import Auditor — Microsoft Ads
Post-Google-Ads-import cleanup and verification. Checks every setting that Google Ads import commonly misconfigures and produces a pass/fail checklist with exact UI paths to fix each issue.
Why This Exists
Google Ads import is the most common way accounts get created in Microsoft Advertising. But the import process silently enables settings that waste budget:
- MSAN gets turned on by default (Google has no equivalent).
- Search partners get enabled.
- "People in or searching for" location targeting is the default (Google defaults differ per campaign).
- Negative keyword lists don't transfer (Google shared lists are platform-specific).
- Bid strategies may not map 1:1 (Google Smart Bidding != Bing equivalents).
- Ad scheduling is lost (imports default to 24/7).
This skill catches all of these in one pass.
Account Context
Read ${CLAUDE_PLUGIN_ROOT}/profile/account-profile.md at the start of every run.
If it exists:
- Use known account IDs -- skip
list_accounts discovery.
- Read Import Config for last import date and auto-import settings.
- Check Decision Log for prior import audit results.
If it doesn't exist, fall back to
list_accounts and suggest running platform-setup.
Data Access
mcp__bing-ads__query: Query campaign structure, keywords, ads, ad extensions.
mcp__bing-ads__report: Generate performance reports for conversion verification.
mcp__bing-ads__list_accounts: Validate account access.
Use query and report configurations from references/bing-queries.md (IA- prefixed queries).
Connection verification
- If the profile has account IDs, use them directly.
- Otherwise, run
mcp__bing-ads__list_accounts to discover accounts.
- If it fails, report the connection failure and suggest running
platform-setup.
Agent Acceleration
When the account has imported campaigns, spawn the import-checker agent to check each campaign's settings in parallel. Pass campaign IDs and the checklist from references/import-checklist.md. The agent returns a pass/fail matrix per campaign, which this skill consolidates into the final audit report.
Workflow
Phase 1: Collect campaign structure
Execute queries from references/bing-queries.md:
- IA-1: Campaign structure query -- all campaigns with settings (network, targeting, scheduling, budget, bid strategy).
- IA-2: Keyword report (30d) -- match types and negative keyword presence.
- IA-3: Campaign performance report (7d) -- verify conversions are tracking.
- IA-4: Ad extensions query -- verify extensions imported correctly.
Phase 2: Run the import checklist
Use references/import-checklist.md as the master checklist. Evaluate each item:
Critical (fix immediately)
| Check |
How to Detect |
Pass Criteria |
| MSAN disabled |
IA-1: check ad distribution settings |
Audience Network not enabled on search campaigns |
| Search partners appropriate |
IA-1: check search partner settings |
Partners disabled or intentionally enabled (per profile Preferences) |
| Location targeting: "People in" only |
IA-1: check location targeting type |
All campaigns set to "People in your targeted locations" |
| Conversion tracking verified |
IA-3: check for conversions > 0 in 7d data |
At least one campaign has conversions, indicating UET is active |
Important (fix within 48h)
| Check |
How to Detect |
Pass Criteria |
| Broad match keywords reviewed |
IA-2: count broad match keywords |
No broad match keywords, OR broad match with negative coverage |
| Negative keyword lists imported |
IA-2: check for negative keywords |
Campaigns have negative keywords (Google shared lists don't transfer) |
| Ad scheduling applied |
IA-1: check ad schedule settings |
Campaigns have scheduling if profile indicates non-24/7 intent |
| Device bid adjustments reviewed |
IA-1: check device bid modifiers |
Device adjustments present (Google modifiers don't always map) |
Optimization (fix within 1 week)
| Check |
How to Detect |
Pass Criteria |
| Bid strategy compatibility |
IA-1: check bid strategy type |
Strategy is a native Bing type, not an unmapped Google import |
| Ad extensions imported |
IA-4: check extension presence |
Sitelinks, callouts, and structured snippets present |
| Campaign naming consistent |
IA-1: analyze campaign name patterns |
Consistent naming convention across campaigns |
Phase 3: Score and prioritize
For each failed check:
- Estimate dollar impact using the same formulas from
references/thresholds.md:
- MSAN enabled: total campaign spend at-risk.
- Search partners: partner network spend estimate.
- Location targeting: 5-15% of spend on out-of-area traffic.
- Missing negatives: broad match spend without negative protection.
- Missing scheduling: overnight spend estimate.
- Tag severity:
- HIGH (>$500/mo): Critical items that failed.
- MEDIUM ($100-500/mo): Important items that failed.
- LOW ($25-100/mo): Optimization items.
- INFO (<$25/mo): Minor findings.
- Provide the exact Microsoft Advertising UI path to fix each issue.
- Generate copy-paste artifacts where applicable (negative keyword lists, scheduling templates).
Output format
## Import Audit - [Date]
### Microsoft Ads: [Account Name] ([Account ID])
**Import Status:** [X] of [Y] checks passed
### Audit Summary
| Priority | Total | Passed | Failed | Estimated Waste |
|----------|------:|-------:|-------:|----------------:|
| Critical | X | X | X | $X,XXX/mo |
| Important | X | X | X | $X,XXX/mo |
| Optimization | X | X | X | $X,XXX/mo |
### Critical Items
#### MSAN Distribution — [PASS/FAIL]
- **Status**: [enabled/disabled] on [N] campaigns
- **Impact**: $X,XXX/month at-risk
- **Fix**: Microsoft Advertising > Campaign > Settings > Ad distribution > uncheck "Microsoft Audience Network"
- **Campaigns to fix**: [list]
#### Search Partners — [PASS/FAIL]
- **Status**: [enabled/disabled] on [N] campaigns
- **Impact**: $X,XXX/month at-risk
- **Fix**: Microsoft Advertising > Campaign > Settings > Ad distribution > uncheck search partners
#### Location Targeting — [PASS/FAIL]
- **Status**: [N] campaigns using "People in or searching for"
- **Impact**: $X,XXX/month at-risk on out-of-area traffic
- **Fix**: Microsoft Advertising > Campaign > Settings > Locations > Advanced > select "People in your targeted locations"
- **Campaigns to fix**: [list]
#### Conversion Tracking — [PASS/FAIL]
- **Status**: [N] conversions recorded in last 7 days
- **Note**: If zero conversions, verify UET tag is installed and conversion goals are configured.
- **Fix**: Microsoft Advertising > Tools > UET tags > verify tag status
### Important Items
#### Broad Match Keywords — [PASS/FAIL]
- **Status**: [N] broad match keywords without negative coverage
- **Impact**: $X,XXX/month unprotected spend
- **Fix**: Microsoft Advertising > Campaign > Keywords > Negative keywords
- **Copy-paste negatives** (suggested based on search term analysis):
[negative keyword list]
#### Negative Keyword Lists — [PASS/FAIL]
- **Status**: [N] campaigns missing negative keywords
- **Fix**: Microsoft Advertising > Campaign > Keywords > Negative keywords > Add negative keywords
#### Ad Scheduling — [PASS/FAIL]
- **Status**: [N] campaigns running 24/7
- **Impact**: $X,XXX/month estimated overnight waste
- **Fix**: Microsoft Advertising > Campaign > Settings > Ad scheduling
#### Device Bid Adjustments — [PASS/FAIL]
- **Status**: [N] campaigns with default device bids
- **Fix**: Microsoft Advertising > Campaign > Settings > Device bid adjustments
### Optimization Items
#### Bid Strategy Compatibility — [PASS/FAIL]
- **Status**: [current strategies and any compatibility notes]
- **Fix**: Microsoft Advertising > Campaign > Settings > Bid strategy
#### Ad Extensions — [PASS/FAIL]
- **Status**: [present/missing] sitelinks, callouts, structured snippets
- **Fix**: Microsoft Advertising > Ads & extensions > Extensions
#### Naming Conventions — [PASS/FAIL]
- **Status**: [consistency assessment]
### Auto-Import Recommendation
[If auto-import is detected as enabled, recommend reviewing the schedule or switching to manual import to prevent recurring drift.]
**UI path:** Microsoft Advertising > Import > Google Ads > Schedule and settings
### Notes
- This audit checks settings only. It does not modify the account.
- Dollar estimates assume waste patterns from industry benchmarks where direct data is unavailable.
- Re-run this audit after applying fixes to verify resolution.
Guardrails
- Read-only: This skill produces a checklist and recommendations only. No account modifications are made.
- All recommended actions include exact Microsoft Advertising UI paths.
- Dollar estimates are clearly labeled as estimates based on industry benchmarks.
- If the account was not imported from Google (no import history), note that the checklist still applies for general Bing hygiene but some checks (auto-import, bid strategy mapping) may not be relevant.
- Recommend disabling auto-import or switching to manual import to prevent recurring issues.
Profile Maintenance
After completing analysis, if ${CLAUDE_PLUGIN_ROOT}/profile/account-profile.md exists:
- Update Import Config section with current import status.
- Update Watch List with any Critical or Important failed checks.
- Append to Decision Log when user addresses specific items.
- Update "Last updated" date.
Present proposed profile changes to the user before writing.
References
references/bing-queries.md -- query IDs: IA-1 through IA-4
references/import-checklist.md
references/thresholds.md
references/ui-paths.md
1---2name: import-auditor3description: This skill should be used when the user asks to "audit my Google import", "check import settings", "post-import cleanup", "review Bing import", "what did Google import break", "import audit", "check auto-import", "fix import defaults", "import drift", "are my imports synced", "Google to Bing import", "import health check", "did the import mess anything up", "compare Google vs Bing settings", "MSAN got auto-enabled", "import brought wrong bid strategy", or mentions Google Ads import, auto-import cleanup, import verification, import drift detection, or post-import review for Microsoft Advertising.4---56# Import Auditor — Microsoft Ads78Post-Google-Ads-import cleanup and verification. Checks every setting that Google Ads import commonly misconfigures and produces a pass/fail checklist with exact UI paths to fix each issue.910## Why This Exists1112Google Ads import is the most common way accounts get created in Microsoft Advertising. But the import process silently enables settings that waste budget:13- MSAN gets turned on by default (Google has no equivalent).14- Search partners get enabled.15- "People in or searching for" location targeting is the default (Google defaults differ per campaign).16- Negative keyword lists don't transfer (Google shared lists are platform-specific).17- Bid strategies may not map 1:1 (Google Smart Bidding != Bing equivalents).18- Ad scheduling is lost (imports default to 24/7).1920This skill catches all of these in one pass.2122## Account Context2324Read `${CLAUDE_PLUGIN_ROOT}/profile/account-profile.md` at the start of every run.25If it exists:26- Use known account IDs -- skip `list_accounts` discovery.27- Read Import Config for last import date and auto-import settings.28- Check Decision Log for prior import audit results.29If it doesn't exist, fall back to `list_accounts` and suggest running `platform-setup`.3031## Data Access3233- `mcp__bing-ads__query`: Query campaign structure, keywords, ads, ad extensions.34- `mcp__bing-ads__report`: Generate performance reports for conversion verification.35- `mcp__bing-ads__list_accounts`: Validate account access.3637Use query and report configurations from `references/bing-queries.md` (IA- prefixed queries).3839### Connection verification40411. If the profile has account IDs, use them directly.422. Otherwise, run `mcp__bing-ads__list_accounts` to discover accounts.433. If it fails, report the connection failure and suggest running `platform-setup`.4445## Agent Acceleration4647When the account has imported campaigns, spawn the `import-checker` agent to check each campaign's settings in parallel. Pass campaign IDs and the checklist from `references/import-checklist.md`. The agent returns a pass/fail matrix per campaign, which this skill consolidates into the final audit report.4849## Workflow5051### Phase 1: Collect campaign structure5253Execute queries from `references/bing-queries.md`:54551. **IA-1**: Campaign structure query -- all campaigns with settings (network, targeting, scheduling, budget, bid strategy).562. **IA-2**: Keyword report (30d) -- match types and negative keyword presence.573. **IA-3**: Campaign performance report (7d) -- verify conversions are tracking.584. **IA-4**: Ad extensions query -- verify extensions imported correctly.5960### Phase 2: Run the import checklist6162Use `references/import-checklist.md` as the master checklist. Evaluate each item:6364#### Critical (fix immediately)6566| Check | How to Detect | Pass Criteria |67|-------|--------------|---------------|68| MSAN disabled | IA-1: check ad distribution settings | Audience Network not enabled on search campaigns |69| Search partners appropriate | IA-1: check search partner settings | Partners disabled or intentionally enabled (per profile Preferences) |70| Location targeting: "People in" only | IA-1: check location targeting type | All campaigns set to "People in your targeted locations" |71| Conversion tracking verified | IA-3: check for conversions > 0 in 7d data | At least one campaign has conversions, indicating UET is active |7273#### Important (fix within 48h)7475| Check | How to Detect | Pass Criteria |76|-------|--------------|---------------|77| Broad match keywords reviewed | IA-2: count broad match keywords | No broad match keywords, OR broad match with negative coverage |78| Negative keyword lists imported | IA-2: check for negative keywords | Campaigns have negative keywords (Google shared lists don't transfer) |79| Ad scheduling applied | IA-1: check ad schedule settings | Campaigns have scheduling if profile indicates non-24/7 intent |80| Device bid adjustments reviewed | IA-1: check device bid modifiers | Device adjustments present (Google modifiers don't always map) |8182#### Optimization (fix within 1 week)8384| Check | How to Detect | Pass Criteria |85|-------|--------------|---------------|86| Bid strategy compatibility | IA-1: check bid strategy type | Strategy is a native Bing type, not an unmapped Google import |87| Ad extensions imported | IA-4: check extension presence | Sitelinks, callouts, and structured snippets present |88| Campaign naming consistent | IA-1: analyze campaign name patterns | Consistent naming convention across campaigns |8990### Phase 3: Score and prioritize9192For each failed check:93941. Estimate dollar impact using the same formulas from `references/thresholds.md`:95 - MSAN enabled: total campaign spend at-risk.96 - Search partners: partner network spend estimate.97 - Location targeting: 5-15% of spend on out-of-area traffic.98 - Missing negatives: broad match spend without negative protection.99 - Missing scheduling: overnight spend estimate.1002. Tag severity:101 - **HIGH** (>$500/mo): Critical items that failed.102 - **MEDIUM** ($100-500/mo): Important items that failed.103 - **LOW** ($25-100/mo): Optimization items.104 - **INFO** (<$25/mo): Minor findings.1053. Provide the exact Microsoft Advertising UI path to fix each issue.1064. Generate copy-paste artifacts where applicable (negative keyword lists, scheduling templates).107108## Output format109110```markdown111## Import Audit - [Date]112113### Microsoft Ads: [Account Name] ([Account ID])114**Import Status:** [X] of [Y] checks passed115116### Audit Summary117| Priority | Total | Passed | Failed | Estimated Waste |118|----------|------:|-------:|-------:|----------------:|119| Critical | X | X | X | $X,XXX/mo |120| Important | X | X | X | $X,XXX/mo |121| Optimization | X | X | X | $X,XXX/mo |122123### Critical Items124125#### MSAN Distribution — [PASS/FAIL]126- **Status**: [enabled/disabled] on [N] campaigns127- **Impact**: $X,XXX/month at-risk128- **Fix**: Microsoft Advertising > Campaign > Settings > Ad distribution > uncheck "Microsoft Audience Network"129- **Campaigns to fix**: [list]130131#### Search Partners — [PASS/FAIL]132- **Status**: [enabled/disabled] on [N] campaigns133- **Impact**: $X,XXX/month at-risk134- **Fix**: Microsoft Advertising > Campaign > Settings > Ad distribution > uncheck search partners135136#### Location Targeting — [PASS/FAIL]137- **Status**: [N] campaigns using "People in or searching for"138- **Impact**: $X,XXX/month at-risk on out-of-area traffic139- **Fix**: Microsoft Advertising > Campaign > Settings > Locations > Advanced > select "People in your targeted locations"140- **Campaigns to fix**: [list]141142#### Conversion Tracking — [PASS/FAIL]143- **Status**: [N] conversions recorded in last 7 days144- **Note**: If zero conversions, verify UET tag is installed and conversion goals are configured.145- **Fix**: Microsoft Advertising > Tools > UET tags > verify tag status146147### Important Items148149#### Broad Match Keywords — [PASS/FAIL]150- **Status**: [N] broad match keywords without negative coverage151- **Impact**: $X,XXX/month unprotected spend152- **Fix**: Microsoft Advertising > Campaign > Keywords > Negative keywords153- **Copy-paste negatives** (suggested based on search term analysis):154 ```155 [negative keyword list]156 ```157158#### Negative Keyword Lists — [PASS/FAIL]159- **Status**: [N] campaigns missing negative keywords160- **Fix**: Microsoft Advertising > Campaign > Keywords > Negative keywords > Add negative keywords161162#### Ad Scheduling — [PASS/FAIL]163- **Status**: [N] campaigns running 24/7164- **Impact**: $X,XXX/month estimated overnight waste165- **Fix**: Microsoft Advertising > Campaign > Settings > Ad scheduling166167#### Device Bid Adjustments — [PASS/FAIL]168- **Status**: [N] campaigns with default device bids169- **Fix**: Microsoft Advertising > Campaign > Settings > Device bid adjustments170171### Optimization Items172173#### Bid Strategy Compatibility — [PASS/FAIL]174- **Status**: [current strategies and any compatibility notes]175- **Fix**: Microsoft Advertising > Campaign > Settings > Bid strategy176177#### Ad Extensions — [PASS/FAIL]178- **Status**: [present/missing] sitelinks, callouts, structured snippets179- **Fix**: Microsoft Advertising > Ads & extensions > Extensions180181#### Naming Conventions — [PASS/FAIL]182- **Status**: [consistency assessment]183184### Auto-Import Recommendation185[If auto-import is detected as enabled, recommend reviewing the schedule or switching to manual import to prevent recurring drift.]186187**UI path:** Microsoft Advertising > Import > Google Ads > Schedule and settings188189### Notes190- This audit checks settings only. It does not modify the account.191- Dollar estimates assume waste patterns from industry benchmarks where direct data is unavailable.192- Re-run this audit after applying fixes to verify resolution.193```194195## Guardrails196197- **Read-only**: This skill produces a checklist and recommendations only. No account modifications are made.198- All recommended actions include exact Microsoft Advertising UI paths.199- Dollar estimates are clearly labeled as estimates based on industry benchmarks.200- If the account was not imported from Google (no import history), note that the checklist still applies for general Bing hygiene but some checks (auto-import, bid strategy mapping) may not be relevant.201- Recommend disabling auto-import or switching to manual import to prevent recurring issues.202203## Profile Maintenance204205After completing analysis, if `${CLAUDE_PLUGIN_ROOT}/profile/account-profile.md` exists:2061. Update Import Config section with current import status.2072. Update Watch List with any Critical or Important failed checks.2083. Append to Decision Log when user addresses specific items.2094. Update "Last updated" date.210Present proposed profile changes to the user before writing.211212## References213214- `references/bing-queries.md` -- query IDs: IA-1 through IA-4215- `references/import-checklist.md`216- `references/thresholds.md`217- `references/ui-paths.md`