AI-Powered Personalized Year-in-Review Campaign at Scale

canva · Media & Entertainment · 2025 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Personalized marketing and creative campaign generation

Canva needed to create a memorable year-in-review campaign for millions of users while personalizing content at massive scale, localizing across regions, and respecting privacy rules that prohibit analyzing users' personal design content directly.

Constraints:

Architecture

Canva built DesignDNA as a batch personalization pipeline. Instead of reading private user designs, the team inferred design styles from metadata on public templates users had used. Content Creative defined seven design trends and keyword mappings. A scoring algorithm matched 95% of targeted users to trends; the remaining 5% were handled by iterating keyword expansion with generative AI. Canva generated poems from each user's top three styles across nine locales, reviewed samples with Localization, flagged sensitive words and negative tone, regenerated flagged poems, and assembled personalized stories by passing tailored content through URL parameters into tagged Canva templates.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  eligible-user-selector[eligible-user-selector] --> template-metadata-store[template-metadata-store]
  template-metadata-store --> trend-scoring-algorithm[trend-scoring-algorithm]
  trend-scoring-algorithm --> design-personality-builder[design-personality-builder]
  design-personality-builder --> localized-poem-generator[localized-poem-generator]
  localized-poem-generator --> ai-content-review[ai-content-review]
  ai-content-review --> story-assembly[story-assembly]
  story-assembly --> tagged-canva-templates[tagged-canva-templates]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
eligible-user-selector Selects users who satisfy consent and activity criteria for personalized marketing. template-metadata-store
template-metadata-store Privacy-safe style and theme metadata from public Canva templates used by users. eligible-user-selector, trend-scoring-algorithm
trend-scoring-algorithm Scores users against seven design trends using keyword matches and expanded mappings. template-metadata-store, design-personality-builder
design-personality-builder Derives the user's design trend, design personality, top style, and ranking facts. trend-scoring-algorithm, localized-poem-generator
localized-poem-generator Generates poems for top-three style combinations across locales. design-personality-builder, ai-content-review
ai-content-review Sample localization review, sensitive-word checks, negative-tone detection, and regeneration loop. localized-poem-generator, story-assembly
story-assembly Combines locale, statistics, personality, poem, trend, and template replacement data. ai-content-review, tagged-canva-templates
tagged-canva-templates Base templates whose tagged elements are replaced through URL parameters. story-assembly

Data flow

The pipeline identifies eligible users, reads privacy-safe public-template style and theme metadata, scores users against seven design trends, assigns design trend and personality, generates localized poems from the top three styles, reviews/regenerates problematic outputs, and stores each user's locale, design count, top design type, relative ranking, personality, poem, and emerging trend. Base Canva templates have tagged elements that are replaced with personalized content via URL parameters, producing each user's DesignDNA story.

4 supporting quotes
“Although we couldn't access personal design content, Canva has a vast library of public templates users use.”article, stated
“We developed an algorithm to give each user a score for each design trend based on the keywords”article, stated
“We created unique prompts for each locale and then provided the top 3 styles we wanted to generate a poem for.”article, stated
“We can then dynamically replace these tagged elements with other content provided using URL parameters.”article, stated

Why this architecture

Privacy shaped the architecture: Canva could not inspect user designs, so it inferred themes from public-template metadata. Scale shaped the generation path: a million poem combinations across nine locales were impossible to handwrite or fully review, so Canva used prompts, sampling, sensitive-word filters, negative-tone detection, and regeneration. Dynamic template tags and URL parameters let the system create personalized visuals without generating a separate static asset manually.

3 supporting quotes
“To ensure privacy compliance, accessing personal Canva designs is strictly off-limits.”article, stated
“We couldn't manually write a million poems, but we could use generative AI to generate these poems at scale.”article, stated
“Reviewing a million poems was impossible, but we took all reasonable steps to review the output.”article, stated

Models used: generative AI · Canva generative AI tools

Scale

Alternatives considered (roads not taken)

analyzing personal Canva designs directly

Rejected because: Internal privacy policies made personal design content strictly off-limits.

“To ensure privacy compliance, accessing personal Canva designs is strictly off-limits.”article, stated

manual poem writing and review

Rejected because: The top-style and locale combinations exceeded a million outputs, making manual writing and full review infeasible.

“we had just over a million different combinations. We couldn't manually write a million poems”article, stated

Our review process consisted of:

— article, stated

simple keyword matching only

Rejected because: The initial keyword approach matched 95%, so generative AI helped expand keywords for the remaining 5%.

“To find a design trend match for the remaining 5% of users, we iterated on the existing keyword-matching method”article, stated

Patterns

privacy-preserving-processing (safety)

The campaign avoided personal design content and inferred themes from public template metadata.

“Although we couldn't access personal design content, Canva has a vast library of public templates users use.”article, stated

batch-offline-processing (operations)

Canva generated and reviewed million-scale localized poem/content combinations before campaign delivery.

“The result was a million generated poems across 9 different locales.”article, stated

guardrails-io-filtering (safety)

Sensitive-word and negative-tone checks flagged poems for regeneration before launch.

“Flagging poems containing potentially sensitive words and using generative AI to help identify any poems with a negative tone.”article, stated

human-in-the-loop-gate (evaluation)

Localization reviewers sampled non-English poems and fed prompt adjustments back into generation.

“Asking our Localisation team to review a sample of poems generated in non-English locales.”article, stated

Tradeoffs

Use metadata instead of private design content.

Chose public template metadata over direct user design analysis.

Rationale: This preserved privacy while still producing trend and personality signals.

“These templates are tagged with style and theme metadata”article, stated
“We then used these to match a user to a design trend and design personality.”article, stated

Automate poem generation but review by risk.

Chose generated localized poems with sampling and automated flags over manual writing or full manual review.

Rationale: The campaign scale made manual work impossible, but review gates still reduced inappropriate outputs.

“We couldn't manually write a million poems, but we could use generative AI to generate these poems at scale.”article, stated
“Reviewing a million poems was impossible, but we took all reasonable steps to review the output.”article, stated

Gotchas (what bit them)

The most obvious personalization data was unavailable.

Root cause: Privacy compliance prohibited accessing users' personal Canva designs.

Resolution: Infer themes from public-template style and theme metadata instead.

“accessing personal Canva designs is strictly off-limits.”article, stated
“So, we used this template metadata to infer the user's top themes and styles.”article, stated

AI-generated campaign copy can be inappropriate at scale.

Root cause: A million localized poems cannot be manually reviewed one by one.

Resolution: Sample with Localization, flag sensitive words and negative tone, and regenerate flagged outputs.

“For our AI-generated content, a proper review process was critical to ensure what we were sending out to users was appropriate.”article, stated
“We regenerated any poems flagged during the review process, repeating the review cycle until we had an appropriate alternative.”article, stated

Personalized campaign assets need dynamic assembly, not one-off manual design.

Root cause: Each user story combines locale, counts, rankings, personality, poem, and trend content.

Resolution: Use tagged Canva templates and URL parameters to inject personalized content.

“Canva has a feature that allows us to tag elements in a template.”article, stated
“For each user, we added the tailored content to the URL and produced a link”article, stated

Evaluation

Canva evaluated the pipeline through target-cohort matching coverage, localization review samples, sensitive-word filtering, negative-tone detection, regeneration cycles, and final campaign output scale.

Metrics: 95% design trend match from initial keyword scoring · remaining 5% handled with expanded matching · 1 million generated poems · 9 locales · 95 million unique DesignDNAs

3 supporting quotes
“Using this approach, we matched 95% of the users in our target cohort to a design trend.”article, implied
“The result was a million generated poems across 9 different locales.”article, implied
“With 95 million unique DesignDNAs created”article, implied

Outcomes

This is a high-scale batch generation case: millions of users, seven trends, nine locales, more than a million generated poems, and 95 million unique story variants.

“With 95 million unique DesignDNAs created, we released a personalized year-in-review campaign”article, stated
“all the relevant generated content.”article, stated