New batch
{{ newBatch.message }}
Batches
| Name | Source | Status | Ads | Video txt | Video | Image | Download | Date | |
|---|---|---|---|---|---|---|---|---|---|
|
{{ b.name || '(unnamed)' }}
{{ (b.source_urls || [b.source_url]).length }} URL{{ (b.source_urls || [b.source_url]).length === 1 ? '' : 's' }}
|
{{ b.source === 'google' ? 'Google' : 'Facebook' }} | {{ b.status }} |
{{ b.counts?.total ?? 0 }}
v{{ b.counts?.video ?? 0 }} Β· i{{ b.counts?.image ?? 0 }} Β· t{{ b.counts?.text ?? 0 }}
v{{ b.counts?.video ?? 0 }} Β· i{{ b.counts?.image ?? 0 }} Β· c{{ b.counts?.carousel ?? 0 }}
|
{{ b.trans?.done ?? 0 }}/{{ b.counts?.video ?? 0 }} | {{ b.vid_a?.done ?? 0 }}/{{ b.counts?.video ?? 0 }} | {{ b.image_a?.done ?? 0 }}/{{ b.counts?.image ?? 0 }} | {{ b.dl?.done ?? 0 }}/{{ (b.counts?.video ?? 0) + (b.counts?.image ?? 0) }} | {{ fmtDate(b.created_at) }} |
{{ currentBatch.batch.name || '(unnamed batch)' }}
{{ currentBatch.batch.status }} Β· {{ currentBatch.ads.length }} ads Β· scraped {{ relTime(currentBatch.batch.scraped_at) }}
{{ currentBatch.batch.status_message }}
Source URLs ({{ (currentBatch.batch.source_urls || [currentBatch.batch.source_url]).length }})
Batch analysis
Cross-cutting strategic review. Uses every ad's existing data β does not trigger new transcriptions or analyses.
{{ currentBatch.batch.batch_analysis_error }}
{{ currentBatch.batch.batch_analysis }}
{{ brand }} ({{ adsCountForBrand(brand) }} ads)
{{ text }}
{{ lastActionMsg }}
Ads
| Brand | Format | Headline / CTA | Started | Active | Impressions | CTA link | Video txt | Video | Image | Download | Links | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
{{ ad.brand || 'β' }} | {{ ad.format }} |
{{ ad.headline || '(no headline)' }}
{{ ad.cta_text || 'β' }}
|
{{ ad.ad_start_date || 'β' }} | {{ ad.ad_status || 'β' }} | {{ ad.impressions_text || 'β' }} | {{ ad.cta_link }} β | {{ statusLabel(ad.transcription_status) }} | {{ statusLabel(ad.video_analysis_status) }} | {{ statusLabel(ad.image_analysis_status) }} | {{ statusLabel(ad.download_status) }} | Ad_link Drive Media | |
Variants ({{ ad.cards.length }})Variant {{ i + 1 }}
{{ card.title }}
{{ card.body }} {{ card.link_description }}
{{ card.cta_text }}
{{ card.link_url }}
Transcription / analysis runs on the first variant only. If this fails to load, the FB CDN URL likely expired β use the Drive copy instead. Primary text{{ ad.primary_text }} Description{{ ad.description }} Caption (display URL){{ ad.caption }} Caption (display URL){{ ad.caption }} Transcript{{ ad.video_transcription }} Video marketing analysis{{ ad.video_analysis }}
Image marketing analysis{{ ad.image_analysis }}
Trans error: {{ ad.transcription_error }}
Image error: {{ ad.image_analysis_error }}
Download error: {{ ad.download_error }}
|
|||||||||||||
{{ ad.brand || 'β' }}
{{ ad.headline }}
{{ ad.ad_start_date || 'β' }}
{{ filteredAds.length }} ads β click any card to expand
{{ ad.brand || ad.headline || 'β' }}
{{ ad.headline }}
{{ ad.ad_start_date || 'β' }}
{{ filteredGoogleAds.length }} ads β click any card to expand
{{ currentBatch.batch.name || '(unnamed batch)' }}
Google Ads{{ currentBatch.batch.status }} Β· {{ currentBatch.ads.length }} ads Β· scraped {{ relTime(currentBatch.batch.scraped_at) }}
{{ currentBatch.batch.status_message }}
Source URLs ({{ (currentBatch.batch.source_urls || [currentBatch.batch.source_url]).length }})
Batch overview
{{ lastActionMsg }}
Ads
| Advertiser{{ googleSortIndicator('brand') }} | Advertiser ID | Creative ID | Format{{ googleSortIndicator('format') }} | First shown{{ googleSortIndicator('ad_start_date') }} | Last shown{{ googleSortIndicator('last_shown') }} | Headline{{ googleSortIndicator('headline') }} | Body{{ googleSortIndicator('primary_text') }} | CTA / Display URL{{ googleSortIndicator('description') }} | Video txt | Video | Image | Download | Text fetch | Links | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
βΆ
{{ ad.format === 'image' ? 'HTML' : 'β' }}
|
{{ ad.brand || 'β' }} | {{ ad.advertiser_id || 'β' }} | {{ ad.ad_archive_id || 'β' }} | {{ ad.format }} | {{ ad.ad_start_date || 'β' }} | {{ ad.last_shown || 'β' }} | {{ ad.headline }} β | {{ ad.primary_text }} β | {{ ad.description }} β | {{ statusLabel(ad.transcription_status) }} | {{ statusLabel(ad.video_analysis_status) }} | {{ statusLabel(ad.image_analysis_status) }} | {{ statusLabel(ad.download_status) }} | {{ statusLabel(ad.text_fetch_status) }} | Ad_link Preview Media | |
|
{{ ad.format === 'video' ? 'Video' : 'Display Ad' }} Preview
Dynamically rendered β may require 3rd-party cookies. Open on Google Ads Transparency β HTML5 Banner Preview
Animated HTML5 banner β may not render if 3rd-party cookies are blocked. Open directly β Preview
Headline
{{ ad.headline }} Body
{{ ad.primary_text }} CTA / Display URL
{{ ad.description }} Ad text (raw){{ ad.ad_text }}
Text extraction status: {{ ad.text_fetch_status }}
β {{ ad.text_fetch_error }}
Transcript{{ ad.video_transcription }} Video marketing analysis{{ ad.video_analysis }}
Image marketing analysis{{ ad.image_analysis }}
Trans error: {{ ad.transcription_error }}
Image error: {{ ad.image_analysis_error }}
Download error: {{ ad.download_error }}
Text fetch error: {{ ad.text_fetch_error }}
All fields
{{ key }}: {{ typeof val === 'object' ? JSON.stringify(val) : val }}
|
||||||||||||||||
{{ ad.brand || 'β' }}
{{ ad.headline }}
{{ ad.ad_start_date || 'β' }}
{{ filteredAds.length }} ads β click any card to expand
{{ ad.brand || ad.headline || 'β' }}
{{ ad.headline }}
{{ ad.ad_start_date || 'β' }}
{{ filteredGoogleAds.length }} ads β click any card to expand