Loading political ads...

CampAIgn Tracker
CSV
Total Ads
{{ formatNum(stats.total) }}
Advertisers
{{ formatNum(stats.advertisers) }}
Live
{{ formatNum(stats.live) }}
Taken Down
{{ formatNum(stats.taken_down) }}
{{ ads.length }} of {{ stats.total || 0 }} updating...
Date Range {{ formatSliderDate(sliderFrom) }} — {{ formatSliderDate(sliderTo) }}

No ads match your filters.

{{ (ad.page_name || '?')[0] }}
View details
{{ ad.party }}

{{ ad.page_name }}

{{ ad.body }}

Removed for violating Advertising Standards

👁 {{ formatRange(ad.impressions_lower, ad.impressions_upper) }} 👁 {{ formatNum(ad.reach) }} reach {{ formatSpend(ad) }}
{{ formatDate(ad.start_date) }} {{ formatPlatform(ad.platform) }}
{{ selectedIndex + 1 }} / {{ ads.length }}
{{ selectedAd.is_active ? 'Live' : 'Ended' }} Removed Eligible Taken Down Missing Disclaimer {{ formatPlatformFull(selectedAd.platform) }}

{{ selectedAd.page_name }}

{{ selectedAd.party }} {{ selectedAd.municipality }}

{{ selectedAd.body }}

{{ selectedAd.title }}

Dates
{{ formatDateRange(selectedAd.start_date, selectedAd.end_date) }}
Spend
{{ formatSpend(selectedAd) }}
Impressions
{{ formatRange(selectedAd.impressions_lower, selectedAd.impressions_upper) }}
Reach
{{ formatNum(selectedAd.reach) }}

Targeting

Locations: {{ parseTargetLocations(selectedAd.target_locations).join(', ') }}
Ages: {{ selectedAd.target_ages }}
Gender: {{ selectedAd.target_gender }}
Est. audience: {{ formatRange(selectedAd.estimated_audience_size_lower, selectedAd.estimated_audience_size_upper) }}
Demographics
AgeGender%
{{ d.age }}{{ d.gender }}{{ d.percentage }}
Delivery by region
{{ r.region }}: {{ r.percentage }}%

Details

Source: Known actor Keyword: {{ selectedAd.trigger_value }} {{ selectedAd.trigger_type }}
AI reasoning: {{ selectedAd.ai_reasoning }}
Disclaimer: {{ selectedAd.disclaimer }}
Page likes: {{ formatNum(selectedAd.page_like_count) }}