Common Pinterest Ads connection and reporting issues, what causes them, and how to fix them.
Spend and other cost metrics are blank
By far the most common Pinterest Ads issue. Everything looks healthy — the connection is active, campaigns and creatives sync, dashboards populate — but every cost figure is empty.
What you'll see
Populated normally | Blank or zero |
Campaigns, ad groups, ads | Total spend |
Pins, images and videos | Cost per click (CPC) |
Impressions and reach | Cost per mille (CPM) |
Frequency | Cost per acquisition (CPA) |
Clicks and click-through rate | Return on ad spend (ROAS) |
Engagements and engagement rate | Conversion value |
Video views, video depth, watch time |
The pattern is the giveaway: every monetary metric is missing and every non-monetary metric is fine. A genuine reporting problem would rarely divide so cleanly.
Why it happens
Pinterest decides which metrics a connection can read from the ad account permission held by the account that authorized it. An Analyst permission covers reporting and analytics, but it carries no billing access — so Pinterest won't return monetary figures to it.
What makes this hard to spot is that Pinterest doesn't refuse the request. It accepts it, returns a successful response, and simply leaves the monetary columns out — no error, no warning, no partial-failure signal. Ask for spend on its own and the response comes back successfully with the spend column absent. From Medialake's side the sync completes normally; there is nothing to flag, and a missing value is stored as blank.
This is a permission setting on Pinterest's side, not a fault in the connection or a problem with the sync.
How to confirm it
Open Pinterest Business Manager for the business that owns the ad account.
Find the account or partner that authorized Medialake.
Check the permissions granted on the ad account in question.
If Analyst is the only permission granted, that's the cause.
How to fix it
Grant Medialake's connection Campaigns (Campaign Manager) or Admin on each ad account you want cost reporting for. Admin is the simplest option if you're unsure — it includes billing visibility outright.
Permissions are granted per ad account, so an organization with several accounts may find spend reporting works on some and not others. Check each account you sync.
If your organization's policy keeps billing permissions separate — Pinterest's own permission matrix also lists billing visibility under Finance (read) and Finance (edit) — contact [email protected] before making the change and we'll confirm the narrowest combination that works for your setup.
What happens after you fix it
Nothing needs reconnecting or reconfiguring. On the next scheduled sync, Pinterest starts returning the monetary columns and Medialake fills in spend, CPC, CPM, ROAS and conversion value — including for days already collected, as far back as Pinterest's 90-day analytics window allows.
Cost per acquisition and conversion value return at the same time: both are calculated from spend, so neither can exist until spend does.
Anything outside that 90-day window cannot be recovered. Pinterest does not serve ad analytics older than roughly 90 days to anyone through the API, so spend for a campaign that finished before then stays blank permanently. If cost reporting matters to you, fixing the permission promptly limits how much history is lost.
One important limitation
Medialake cannot currently tell the difference between "Pinterest wouldn't give us this" and "the real value is zero." Both are stored as blank.
That means a blank spend column is not evidence that an ad spent nothing — it may equally mean the permission was too narrow when that day was collected. Treat blank cost metrics as unknown rather than zero, and don't sum or average across them, until you've confirmed the ad account's permission level. This behaviour is consistent with how Medialake treats every unsupplied metric — see the Performance Metrics Reference.
No ad accounts appear when choosing what to sync
Medialake can only see the ad accounts the connecting Pinterest account has access to. If the picker is empty or missing an account you expected:
Confirm the person who connected has access to that ad account in Business Manager.
Confirm the access is on the ad account itself, not only on the business profile.
Grant the missing access, then reconnect the Pinterest Ads source.
Some ads are missing
Medialake deliberately skips two kinds of ad:
Ads whose Pin has been deleted. With no Pin, there's no media to bring in.
Ads with a
THIRD_PARTY,PARTNERSHIPorIDEAcreative type. These don't resolve to a Pin whose media we can ingest.
Paused and archived ads are not skipped — they sync normally and keep reporting. If an ad is missing for any other reason, contact [email protected].
A carousel ad appears as several files
That's intended. Each slide of a carousel is ingested as its own file with its own thumbnail, so individual slides can be found, reviewed and reported on separately. All of them stay linked to the same ad. See Data Mapping.
History doesn't go back as far as expected
Pinterest serves ad analytics for roughly the last 90 days only. Medialake collects what's available in that window when you connect, then builds coverage forward day by day.
Two consequences:
An account connected recently has shallow history, and it deepens over time.
Performance from before the 90-day window can never be backfilled — the data isn't available from Pinterest.
The connection stopped working
Pinterest connections renew themselves automatically in the background. A connection stops when:
Access was revoked on Pinterest's side, or
The connecting person lost their access to the ad account, or left the business, or
The refresh token expired.
In each case, reconnect the Pinterest Ads integration in Medialake and re-select the ad accounts. To avoid it recurring, have someone permanent do the connecting — see Authentication.
Numbers don't match Pinterest Ads Manager
Small differences are normal and usually come down to date ranges, restated conversions, attribution settings, or time zones. Metrics Reference explains each.
A whole-account difference where every cost figure is zero or blank is a different matter — that's the permission issue at the top of this page, not a reporting nuance.
Still stuck? Contact [email protected] with the ad account name and roughly when you noticed the issue, and we'll take a look.
