- Push to Platform is a Pro feature that sends Blueprint's suggested daily budgets directly to Google Ads and Microsoft Ads via their APIs.
- Navigate to Monitor → Budget Pacing, select one or more campaigns, and click "Apply Budgets" to start the push workflow.
- A two-phase confirmation modal shows current vs. suggested budgets side by side for every selected campaign before anything changes.
- Results display SUCCESS or FAILED per campaign with a retry option for any failures -- no partial mystery states.
- Every push is logged in a paginated audit trail with timestamps, dollar amounts, the user who pushed, and success or failure status.
Prerequisites
Push to Platform is a Pro feature. If your workspace is on the Free tier, you will see the "Apply Budgets" button but it will prompt you to upgrade before proceeding. You also need an active OAuth connection to the ad platform you want to push to -- Google Ads or Microsoft Ads. If your token has expired or been revoked, Blueprint will surface an error during the push and prompt you to reconnect in Settings → Connections.
Role requirements matter here. Only users with the Owner or Manager role in the workspace can execute budget pushes. Analysts and Viewers can see suggested budgets and the audit trail, but the "Apply Budgets" button is disabled for them. This is intentional -- pushing budgets changes live campaign spend, so it is restricted to users with explicit authority over the account. If you are an Analyst who needs push access, ask your workspace Owner to upgrade your role.
Finally, you need budget targets configured for the campaigns you want to push. Push to Platform works by sending the daily budget that Blueprint calculates based on your monthly target, current spend, remaining days, and pacing strategy. Without a budget target, there is no suggested budget to push. If you have not set up targets yet, see the Setting Up Budget Targets guide linked at the bottom of this page.
Selecting Campaigns to Push
Start by navigating to Monitor → Budget Pacing. The pacing table shows every campaign that has a budget target configured, along with its current daily budget, suggested daily budget, monthly target, spend to date, and pacing status. Each row has a checkbox on the left. Select the campaigns whose suggested budgets you want to push, then click the "Apply Budgets" button that appears above the table.
You can select campaigns across multiple ad accounts and even across platforms in a single push. Blueprint batches the API calls by platform and account behind the scenes, so you do not need to push Google and Microsoft separately. That said, it is worth reviewing the suggested amounts before selecting. The suggested daily budget is based on your pacing strategy -- even, front-loaded, or back-loaded -- and the remaining days in the budget period. If a campaign is significantly underpacing, the suggested budget may be substantially higher than the current one. If it is overpacing, the suggestion may be lower. The confirmation modal (next section) gives you a final chance to review before anything changes.
One important limitation: Meta Ads is not supported for budget pushes. Meta's API does not expose campaign-level budget mutations in the same way Google and Microsoft do, so Blueprint cannot send budgets to Meta campaigns. Meta campaigns will still appear in the pacing table with suggested budgets, but the checkbox is disabled with a tooltip explaining the limitation.
The Push Confirmation Modal
After clicking "Apply Budgets," Blueprint opens a two-phase confirmation modal. The first phase displays a table of every selected campaign with four columns: Campaign Name, Platform, Current Daily Budget, and Suggested Daily Budget. The current and suggested values are shown side by side so you can see exactly what will change for each campaign. Campaigns where the suggested budget is higher than the current budget are highlighted with an upward arrow indicator, and campaigns where it is lower show a downward arrow. This makes it easy to scan for any changes you might want to reconsider.
You can deselect individual campaigns directly in the modal if you decide not to push certain ones after reviewing the numbers. The second phase requires you to click a "Confirm Push" button to execute. There is no ambiguity -- nothing is sent to any ad platform until you explicitly confirm. Blueprint then makes the API calls in parallel (grouped by platform and account) and transitions the modal to a results view showing the outcome for each campaign.
Understanding the Audit Trail
Every budget push is recorded in a paginated audit trail accessible from the Budget Pacing page. The audit log captures the timestamp of each push, the campaign name and ID, the platform, the previous daily budget, the new daily budget that was pushed, the user who initiated the push (by name and email), and the result -- SUCCESS or FAILED with an error message if applicable. This log is immutable; entries cannot be edited or deleted.
The audit trail serves multiple purposes. For agency teams, it provides accountability -- you can see exactly who changed a client's budget and when, which is critical for client trust and internal governance. For troubleshooting, it shows whether a push succeeded or failed and what error the platform returned. For compliance, it creates a permanent record of every budget modification made through Blueprint, which is valuable during client audits or billing disputes.
The audit log is paginated and sortable by date, campaign, user, or status. Filtering by status lets you quickly surface all failed pushes that may need a retry. The log is visible to all workspace roles (including Analysts and Viewers), so client-facing Viewer accounts can see the history of budget changes without being able to make changes themselves. This transparency is a deliberate design choice -- everyone in the workspace should be able to see what happened to campaign budgets and when.
Troubleshooting Failed Pushes
When a push fails for one or more campaigns, the results modal shows a FAILED badge next to each affected campaign along with the error message returned by the ad platform's API. The most common failure reasons are: expired or revoked OAuth tokens, insufficient permissions on the connected Google Ads or Microsoft Ads account, campaign budget constraints set at the platform level that reject the new amount, and rate limiting from the platform API during high-volume push operations.
For OAuth token errors, navigate to Settings → Connections and reconnect the affected platform. Blueprint uses OAuth 2.0 with refresh tokens, but tokens can be revoked if the user changes their Google or Microsoft password, removes Blueprint's access in their platform settings, or if the token simply expires beyond the refresh window. Reconnecting generates a fresh token and resolves the issue immediately.
For permission errors, verify that the Google Ads or Microsoft Ads account connected to Blueprint has Standard or Admin access -- read-only accounts cannot modify budgets. For budget constraint errors, check whether the campaign has a shared budget or a maximum daily budget cap set directly in the platform. Blueprint pushes the suggested daily budget as-is; if the platform rejects it because it exceeds a shared budget ceiling or violates a campaign experiment constraint, you will need to adjust the constraint at the platform level first. The retry option in the results modal lets you re-attempt failed campaigns without re-selecting them, which is useful after fixing the underlying issue.
- Push to Platform sends suggested daily budgets to Google Ads and Microsoft Ads directly -- no manual platform switching required.
- The two-phase confirmation modal shows current vs. suggested budgets side by side before any changes are made.
- Only Owner and Manager roles can push budgets -- Analysts and Viewers have read-only access to the audit trail.
- Every push is logged with timestamps, amounts, user identity, and success or failure status for full accountability.
- Meta Ads is not supported for budget pushes -- only Google Ads and Microsoft Ads expose campaign-level budget APIs.