Knowledge BaseEmail Creative Tracking
How It Works

How We Track
Email Creative Intelligence

Every email your competitors send is processed through our creative intelligence pipeline — extracting design hashes, color palettes, CTAs, layout structure, media signals, and offer data. Here's exactly how each signal is computed.

Design Hash & Template Fingerprinting

We normalize each email's HTML by stripping dynamic content — personalization tokens, product blocks, dates, prices, and unique tracking IDs — leaving only the structural template skeleton. That skeleton is then hashed (SHA-256). Two emails sharing the same hash use the same template design. When the hash changes, TemplateChangeDetected is set to true.

Data Fields

DesignHashSHA-256 of stripped structural HTML.
TemplateChangeDetectedTrue when hash differs from the previous email from the same sender.
Update frequencyRe-computed on every email received.

A template change often signals a brand refresh, seasonal campaign pivot, or A/B test at the template level — not just the subject line.

Color Palette Extraction

We scan all CSS within the email — including style blocks, inline styles, and link color attributes — and extract every color value in hex, rgb, rgba, or hsl format. After normalization to hex, we rank by frequency of use and store the top 5 colors in ColorPaletteJson.

Data Fields

ColorPaletteJsonJSON array of up to 5 hex colors sorted by frequency.
PrimaryBgColorDominant background color inferred from the body and outermost table cell.
PrimaryCtaColorBackground color of the detected primary call-to-action button.

Color palette shifts are a reliable signal for seasonal campaigns (holiday red, Black Friday dark mode), A/B brand testing, or a full creative overhaul.

CTA Analysis

Every anchor tag is extracted from the email body. We apply a multi-class classifier to each link's visible text and surrounding HTML context to assign a CTA type. Types include: shop-now, learn-more, get-started, download, watch, redeem, claim-offer, unlock, and other.

Data Fields

CtaCountTotal number of distinct CTAs in the email.
CtasJsonJSON array of { text, href, type } for each CTA.
PrimaryCtaTypeType of the first or most prominent CTA.
PrimaryCtaTextExact text of the primary CTA button.
PrimaryCtaPositionVertical position: above-fold, mid, below-fold.
HasMultipleCtasTrue when CtaCount ≥ 3.
ButtonCountCount of all button-style elements regardless of link status.

Tracking how many CTAs a competitor uses — and where they place the primary one — reveals conversion strategy shifts. Digest emails often have 5+ CTAs; high-urgency promos typically have one dominant button.

Layout & Structure Detection

We analyze the email's table and CSS grid structure to classify the layout. Single-column emails are most common for transactional and promotional messages. Multi-column layouts are frequently used in newsletters and product digests.

Data Fields

LayoutColumnsDetected column count: 1, 2, or 3+.
HasHeroImageTrue if a large image appears in the first 20% of the email body.
ImageToTextRatioRatio of total image area to estimated text length (0.0–1.0+).
PreheaderLengthCharacter count of the preview text (preheader).

A shift from single-column to two-column layout often precedes a brand redesign. High image-to-text ratios can hurt deliverability with certain filters.

Media & Animation Signals

We flag the presence of GIF animations, embedded video (or video thumbnail + play button), countdown timers, AMP interactivity, and dark-mode variants.

Data Fields

HasGifTrue if any animated GIF image is detected in the HTML.
HasVideoTrue if a video embed or video thumbnail pattern is detected.
HasCountdownTrue if a countdown timer embed or image is present.
HasAmpTrue if the email includes AMP for Email markup.
HasDarkModeTrue if prefers-color-scheme: dark CSS is present.

GIF and countdown usage spikes during sale events. Tracking these across competitors lets you predict when they're about to run a promotion.

Personalization Signals

We scan for merge tags, conditional blocks, and product recommendation block patterns across all major template syntaxes: Handlebars {{ }}, Liquid {% %}, Jinja2, and ESP-proprietary formats.

Data Fields

HasPersonalizationTrue if any personalization token is detected.
PersonalizationTokenCountRaw count of detected merge tags.
PersonalizationScore0–100 composite based on token density, block count, and dynamic blocks.
HasDynamicBlocksTrue if conditional content sections are detected.

PersonalizationScore correlates strongly with sender maturity. Low scores from a large brand may indicate a legacy system or mass-blast campaign — worth investigating.

Offer & Urgency Analysis

We extract offer framing, discount amounts, urgency signals, and promotional keywords from both subject lines and email bodies.

Data Fields

OfferTypeClassified as: discount / free-shipping / bundle / product-launch / none.
DiscountAmountDollar value extracted if present (e.g. "$20 off").
DiscountPercentPercentage extracted if present (e.g. "30% off").
UrgencyScore0–100 composite based on deadline, scarcity, and urgency keyword density.
HasLimitedStockTrue if "limited stock", "selling fast", or similar detected.
HasFreeShippingTrue if free shipping offer is present.
HasBundleTrue if a bundle or BOGO offer is detected.
HasProductLaunchTrue if "new arrival", "just launched", "introducing" patterns detected.

Tracking offer type and discount depth over time reveals a competitor's promotional cadence and price sensitivity. Frequent high-discount emails often signal margin pressure.

The Creative Intelligence Pipeline

1
Email arrives at inbound gateway
Full MIME message received, stored raw.
2
HTML parser extracts structure
DOM tree built; tables, images, links extracted.
3
Dynamic content stripped
Tokens, product blocks, dates normalized out.
4
Design hash computed
SHA-256 on normalized HTML; compared to previous.
5
Color extractor runs on CSS
Inline + block CSS parsed; top 5 colors ranked.
6
CTA classifier analyzes links
ML classifier assigns type to each anchor.
7
Signal extractors run in parallel
Layout, media, personalization, offer signals.
8
Results written to EmailInsights row
All fields stored; available via API + UI.

What to Do with Creative Intelligence Data

Get notified on template refreshes

Enable the TemplateChangeDetected alert for high-priority competitors so you know the moment they redesign.

Track seasonal creative patterns

ColorPaletteJson and OfferType shift dramatically in Q4. Build a timeline of how competitors prepare for the holidays.

Benchmark CTA strategy

How many CTAs do top-performing senders in your industry use? CtaCount and PrimaryCtaPosition answer that.

Detect A/B testing

DesignHash + PossibleAbTest together reveal when a competitor is testing template variants against each other.

See Creative Intelligence In Action

Every competitor you track gets full creative analysis — design hashes, color palettes, CTA data, layout signals, and more.