Why am I missing campaign names ??

This commit is contained in:
Jonas Linter
2025-10-28 11:10:40 +01:00
parent b8f1128108
commit 61e09fe467
2 changed files with 36 additions and 6 deletions

View File

@@ -336,17 +336,28 @@ class ScheduledInsightsGrabber:
) )
count = 0 count = 0
campaigns_without_name = []
for campaign in campaigns: for campaign in campaigns:
campaign_id = campaign['id']
campaign_name = campaign.get('name')
# Track campaigns without names for debugging
if not campaign_name:
campaigns_without_name.append(campaign_id)
print(f" WARNING: Campaign {campaign_id} has no name. Raw data: {dict(campaign)}")
await self.db.upsert_campaign( await self.db.upsert_campaign(
campaign_id=campaign['id'], campaign_id=campaign_id,
account_id=account_id, account_id=account_id,
campaign_name=campaign.get('name', 'Unknown'), campaign_name=campaign_name or 'Unknown',
status=campaign.get('status'), status=campaign.get('status'),
objective=campaign.get('objective'), objective=campaign.get('objective'),
) )
count += 1 count += 1
print(f" {count} campaigns cached for {account_id}") print(f" {count} campaigns cached for {account_id}")
if campaigns_without_name:
print(f" ⚠️ {len(campaigns_without_name)} campaigns without names: {campaigns_without_name}")
async def cache_adsets_metadata(self, account_id: str, limit: int = 100): async def cache_adsets_metadata(self, account_id: str, limit: int = 100):
""" """

View File

@@ -41,12 +41,31 @@ async def test_ad_accounts():
access_token=access_token, access_token=access_token,
) )
# Connect to database print("\nFetching all ad accounts accessible to this token...")
print("Connecting to database...") me = User(fbid='me')
db = TimescaleDBClient() account_fields = ['name', 'currency', 'timezone_name', 'account_status']
await db.connect()
ad_accounts = me.get_ad_accounts(fields=account_fields)
print(f"Found {len(ad_accounts)} ad account(s)\n")
stored_count = 0
for account in ad_accounts:
account_id = account['id']
print(f"Ad Account {stored_count + 1}:")
print(f" ID: {account_id}")
print(f" Name: {account.get('name', 'N/A')}")
print(f" Currency: {account.get('currency', 'N/A')}")
print(f" Timezone: {account.get('timezone_name', 'N/A')}")
print(f" Status: {account.get('account_status', 'N/A')}")
try: try:
# Connect to database
print("Connecting to database...")
db = TimescaleDBClient()
await db.connect()
# Initialize schema # Initialize schema
print("\nInitializing database schema...") print("\nInitializing database schema...")
await db.initialize_schema() await db.initialize_schema()