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:
- personal Canva designs were strictly off-limits for privacy compliance
- only users with consented personalized marketing eligibility and sufficient activity could be targeted
- the campaign needed millions of personalized, shareable stories
- AI-generated poems needed review across locales despite million-scale volume
- the final story had to be assembled dynamically into Canva templates
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]
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
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
Models used: generative AI · Canva generative AI tools
Scale
- DesignDNA launched in December 2024.“DesignDNA was Canva's year-in-review campaign launched in December 2024.”article, stated
- The campaign targeted millions of Canva users.“used generative AI to deliver a personalized and engaging experience to millions of Canva users”article, stated
- The trend system used seven emerging design trends.“we forecast 7 emerging design trends and released them as fresh, ready-to-use templates.”article, stated
- Keyword matching assigned 95% of the target cohort to a design trend.“Using this approach, we matched 95% of the users in our target cohort to a design trend.”article, stated
- The team generated more than one million poem combinations across nine locales.“The result was a million generated poems across 9 different locales.”article, stated
- The final campaign produced 95 million unique DesignDNAs.“With 95 million unique DesignDNAs created”article, stated
Alternatives considered (roads not taken)
analyzing personal Canva designs directly
Rejected because: Internal privacy policies made personal design content strictly off-limits.
manual poem writing and review
Rejected because: The top-style and locale combinations exceeded a million outputs, making manual writing and full review infeasible.
Our review process consisted of:
- Asking our Localisation team to review a sample of poems generated in non-English locales."
— article, stated
simple keyword matching only
Rejected because: The initial keyword approach matched 95%, so generative AI helped expand keywords for the remaining 5%.
Patterns
privacy-preserving-processing (safety)
The campaign avoided personal design content and inferred themes from public template metadata.
batch-offline-processing (operations)
Canva generated and reviewed million-scale localized poem/content combinations before campaign delivery.
guardrails-io-filtering (safety)
Sensitive-word and negative-tone checks flagged poems for regeneration before launch.
human-in-the-loop-gate (evaluation)
Localization reviewers sampled non-English poems and fed prompt adjustments back into generation.
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.
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.
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.
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.
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.
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
Outcomes
- Canva released a personalized year-in-review campaign at 95 million unique DesignDNAs.
- The system generated a million poems across nine locales.
- The campaign delivered personalization while avoiding direct access to personal design content.
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.