Optimization

Audit shared portfolio bid strategies and CPC limits

Lists the portfolio bid strategies in the account, which campaigns use each one and how actual results compare with the target. Finds unused portfolios, badly grouped campaigns and missing CPC limits, and puts the fixes up for your approval.

When to use it

When your account carries shared bid strategies from the past, or when you want to cap what a single click can cost on a Smart Bidding campaign.

What you get

A bidding map by portfolio and campaign, a list of portfolios that miss their target or group the wrong campaigns, and portfolio changes applied only after your approval and confirmed by reading them back.

Does it change anything in my account?

Only with your approval. The assistant first shows a preview of every change and waits for your go-ahead.

Works with

Google Ads

Fill in before sending

[account name][target CPA][target ROAS, or write "none"]
Audit the shared (portfolio) bid strategies and the CPC limits on campaigns in my Google Ads account [account name]. My target CPA is [target CPA] and my target ROAS is [target ROAS, or write "none"]. 1. List the portfolios. With google_ads_query, pull only the strategies with bidding_strategy.status = 'ENABLED' from the bidding_strategy resource: name, type, non_removed_campaign_count, target CPA, target ROAS and the CPC ceiling and floor (for example maximize_conversions.cpc_bid_ceiling_micros, target_spend.cpc_bid_ceiling_micros). Removed strategies also come back from this resource, so do not skip the status filter. Strategies owned by a manager account do not appear here; pull them separately from accessible_bidding_strategy with owner_customer_id and owner_descriptive_name. 2. Map the campaigns. With google_ads_query, pull bidding_strategy_type, bidding_strategy and the campaign-level CPC ceiling (target_spend.cpc_bid_ceiling_micros) for every campaign that is not removed. Put into a table which campaign uses which portfolio and which one runs its own strategy. 3. Compare results. Pull the last 30 days at campaign level with get_report and compute total cost, conversions, cost per conversion and ROAS for each portfolio. Put the portfolio target next to the actual result. Flag the following: 1. Enabled portfolios that no campaign uses. 2. Campaigns in the same portfolio that have different primary conversions or very different costs per conversion. A portfolio target applies to all its campaigns together, so brand and non-brand campaigns sharing a portfolio is usually a mistake. 3. Portfolios whose actual cost per conversion is above 1.5 times the target or below half of it. Do not judge a portfolio with fewer than 15 conversions in the last 30 days, write "not enough data". 4. Campaigns on Maximize conversions or Target CPA where I want to cap what a single click can cost. On these strategies a CPC ceiling cannot be set at campaign level, only through a portfolio strategy. 5. Campaigns on Maximize clicks without a CPC ceiling. Format the output like this: first the portfolio table (portfolio, type, target, CPC ceiling, number of campaigns, actual cost per conversion, ROAS, finding), then the campaign table (campaign, strategy, portfolio, campaign CPC ceiling, finding), and finally a list of changes in priority order. Make the changes with manage_portfolio_bidding_strategy: create or create_and_assign for a new portfolio, update to change the target or limit of an existing one, assign to attach a campaign to an existing portfolio, delete to remove a portfolio that no campaign uses. State clearly in the preview that changing a portfolio target affects EVERY campaign that uses it. Do not propose changing a target by more than 20% in one step. Preview every change with confirm=false first, wait for my approval, then apply it and confirm by reading the bidding_strategy and campaign resources again.

Example result

An example of the output this prompt produces. Its structure comes from the tools' real output; numbers and names are fictional.

Example output (based on a fictional account, not real customer data)

PortfolioTypeTargetCPC ceilingCampaignsActual cost per conversionFinding
Services tCPATarget CPA$25none3$341.36x target, brand campaign is inside
Old Winter PushMaximize conversionsnone$2.200Unused, can be deleted
Agency MCC tCPA (manager owned)Target CPA$17none1$16Only visible through accessible_bidding_strategy
CampaignStrategyPortfolioCampaign CPC ceilingFinding
Search BrandTarget CPAServices tCPABrand conversions make the portfolio look cheaper, should be split out
Search CompetitorMaximize clicksnoneUncapped Maximize clicks, CPC has risen to $10

Change list
1. Move Search Brand out of Services tCPA onto its own strategy. The target stays the same for the two remaining campaigns.
2. Create a new Maximize clicks portfolio capped at $5 and assign Search Competitor to it (create_and_assign).
3. Delete the Old Winter Push portfolio (delete).

Related searches

These prompts work best when your AI assistant is connected to your accounts with Opus Growth.

Connect your accounts free

More prompts

OptimizationChanges after your approval

Why are my ads not showing? First page bid, rank and budget diagnosis

Separates, keyword by keyword, whether low spend or few impressions come from bids, quality or budget. Applies bid and budget changes only after your approval.

When to use itWhen your Google Ads campaigns spend far below budget or barely get impressions and you need to know whether bids, quality or budget is the cause.

Google Ads
OptimizationChanges after your approval

Stop paying to win customers you already have: exclude past converters

Confirms or builds a list of people who reached your thank-you page and excludes it from campaigns meant to win new customers. Never excludes a list based on its name alone when its definition cannot be read.

When to use itWhen you suspect the campaigns you pay to win new customers are also shown to existing customers, and your business does not depend on repeat purchases.

Google Ads
OptimizationChanges after your approval

Send sales from Microsoft Ads clicks back as offline conversions

Uploads sales closed on the phone or in store to Microsoft Ads using the Microsoft Click ID (MSCLKID). Checks the offline goal and the data first, removes duplicate and incomplete rows and puts the preview up for your approval.

When to use itWhen your Microsoft Ads prospects turn into sales later on the phone, in store or in your CRM, and you want bidding to learn from real sales rather than form fills.

Microsoft Ads
OptimizationChanges after your approval

Add audiences in observation mode to Search campaigns and learn who converts best

Adds your own lists and Google segments to Search campaigns in observation mode without narrowing reach. Checks the targeting mode trap first, reads the result back after adding and leaves a reading plan for 30 days later.

When to use itWhen you do not know which audiences your Search campaigns work best for and want to start collecting that data without cutting reach.

Google Ads