From e80ed58000f81be191dd4bb3981211c443f5968b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Manuel=20G=C3=B3mez?= Date: Wed, 22 Apr 2026 10:23:08 +0200 Subject: [PATCH] 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 --- airtable_client.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/airtable_client.py b/airtable_client.py index b38508a..714ce7a 100644 --- a/airtable_client.py +++ b/airtable_client.py @@ -334,14 +334,14 @@ class AirtableClient: 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. - Filtra por GoogleCampaignID (extraído de attr_referer), - attr_utm_source pmx/google y attr_utm_medium paid_search. + Filtra buscando gad_campaignid=ID directamente en attr_referer, + más attr_utm_medium paid_search y mes actual. """ now = datetime.now() mes_inicio = f"{now.year}-{now.month:02d}-01" formula = ( f"AND(" - f"{{GoogleCampaignID}}='{campaign_id}'," + f"FIND('gad_campaignid={campaign_id}',{{attr_referer}})," f"{{attr_utm_medium}}='paid_search'," f"{{creado}}>='{mes_inicio}'" f")" @@ -404,6 +404,3 @@ class AirtableClient: ids = [r["id"] for r in records] 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})