Fix leads filter: use FIND(gad_campaignid) in attr_referer instead of formula field; remove catalog Leads Lake update

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jose Manuel 2026-04-22 10:23:08 +02:00
parent 88523dc0a7
commit e80ed58000

View File

@ -334,14 +334,14 @@ class AirtableClient:
def get_leads_this_month_gads(self, campaign_id: str) -> tuple[int, list[str]]: def get_leads_this_month_gads(self, campaign_id: str) -> tuple[int, list[str]]:
""" """
Leads del mes actual para una campaña de Google Ads. Leads del mes actual para una campaña de Google Ads.
Filtra por GoogleCampaignID (extraído de attr_referer), Filtra buscando gad_campaignid=ID directamente en attr_referer,
attr_utm_source pmx/google y attr_utm_medium paid_search. más attr_utm_medium paid_search y mes actual.
""" """
now = datetime.now() now = datetime.now()
mes_inicio = f"{now.year}-{now.month:02d}-01" mes_inicio = f"{now.year}-{now.month:02d}-01"
formula = ( formula = (
f"AND(" f"AND("
f"{{GoogleCampaignID}}='{campaign_id}'," f"FIND('gad_campaignid={campaign_id}',{{attr_referer}}),"
f"{{attr_utm_medium}}='paid_search'," f"{{attr_utm_medium}}='paid_search',"
f"{{creado}}>='{mes_inicio}'" f"{{creado}}>='{mes_inicio}'"
f")" f")"
@ -404,6 +404,3 @@ class AirtableClient:
ids = [r["id"] for r in records] ids = [r["id"] for r in records]
return len(ids), ids return len(ids), ids
def update_campaign_leads_lake(self, campaign_airtable_id: str, lead_ids: list[str]) -> None:
"""Actualiza el campo 'Leads Lake' de una campaña en Google Ads Campaigns."""
self.campaigns.update(campaign_airtable_id, {"Leads Lake": lead_ids})