fix: Meta Ads muestra clics todos y clics enlace (y ambos CPC)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -55,6 +55,8 @@ type AdDailyInsert = {
|
||||
clicks: number;
|
||||
spend: number;
|
||||
platform_leads: number;
|
||||
/** Meta: clics en el enlace. Google: igual que clicks. */
|
||||
link_clicks?: number;
|
||||
};
|
||||
|
||||
const n = nMeta;
|
||||
@@ -155,10 +157,11 @@ async function fetchMetaInsightsWindow(
|
||||
ad_id: campaignId || '',
|
||||
ad_name: '',
|
||||
impressions: n(row.impressions),
|
||||
// Store link clicks so CPC = spend/clicks matches Ads Manager.
|
||||
clicks: linkClicksFromMetaActions(row.actions, n(row.clicks)),
|
||||
// Ads Manager «Clics (todos)» — link clicks se exponen aparte en UI Meta.
|
||||
clicks: n(row.clicks),
|
||||
spend: Math.round(n(row.spend) * 100) / 100,
|
||||
platform_leads: leadFromMetaActions(row.actions),
|
||||
link_clicks: linkClicksFromMetaActions(row.actions, n(row.clicks)),
|
||||
});
|
||||
}
|
||||
url = j.paging?.next || null;
|
||||
@@ -321,6 +324,7 @@ async function fetchGoogleWindow(
|
||||
clicks: r.clicks,
|
||||
spend: r.spend,
|
||||
platform_leads: Math.round(r.conversions * 1e6) / 1e6,
|
||||
link_clicks: r.clicks,
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -361,9 +365,16 @@ async function replaceDaily(
|
||||
);
|
||||
}
|
||||
|
||||
// chunk inserts
|
||||
// chunk inserts (link_clicks → ad_name marker until column exists)
|
||||
for (let i = 0; i < rows.length; i += 400) {
|
||||
const chunk = rows.slice(i, i + 400);
|
||||
const chunk = rows.slice(i, i + 400).map((r) => {
|
||||
const link = Math.round(r.link_clicks ?? r.clicks);
|
||||
const { link_clicks: _lc, ...rest } = r;
|
||||
if (r.platform === 'meta') {
|
||||
return { ...rest, ad_name: `__lc:${link}` };
|
||||
}
|
||||
return rest;
|
||||
});
|
||||
const r = await fetch(`${base}/rest/v1/ad_daily`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
|
||||
Reference in New Issue
Block a user