Synthetic Data Generation for Privacy-Preserving Search Evaluation

canva · Tech · 2025 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.6 (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: Private search evaluation and synthetic data

Canva needed to evaluate private design search for a massive user base without viewing real user queries or designs, while avoiding slow, low-power manual checks and risky online experiments.

Constraints:

Architecture

Canva used GPT-4o to synthesize realistic private-search datasets: designs, titles, content, relevant and nonrelevant items, and queries at varying difficulty levels. Engineers run those static datasets through a local Testcontainers replica of the search pipeline, calculate recall and precision, and inspect results in a Streamlit visualization tool.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  aggregate_privacy_statistics["Aggregate privacy statistics"] --> gpt_4o_synthetic_design_generator["GPT-4o synthetic design generator"]
  gpt_4o_synthetic_design_generator --> synthetic_query_generator["Synthetic query generator"]
  gpt_4o_synthetic_design_generator --> synthetic_search_corpus["Synthetic search corpus"]
  synthetic_query_generator --> synthetic_search_corpus
  synthetic_search_corpus --> local_testcontainers_search_pipeline["Local Testcontainers search pipeline"]
  local_testcontainers_search_pipeline --> evaluation_module["Evaluation module"]
  evaluation_module --> streamlit_visualization_tool["Streamlit visualization tool"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
GPT-4o synthetic design generator Creates synthetic design topics, titles, and content for private-search evaluation cases. Aggregate privacy statistics, Synthetic query generator, Synthetic search corpus
Aggregate privacy statistics Privacy-preserving statistics used to make synthetic designs realistic without exposing user content. GPT-4o synthetic design generator
Synthetic query generator Creates easy and harder queries through programmatic methods and GPT-4o rewriting. GPT-4o synthetic design generator, Synthetic search corpus
Synthetic search corpus Static evaluation dataset with relevant, nonrelevant, and generic designs. Local Testcontainers search pipeline
Local Testcontainers search pipeline Runs a local replica of search services, index state, and ML models. Synthetic search corpus, Evaluation module
Evaluation module Computes recall and precision metrics from search results. Local Testcontainers search pipeline, Streamlit visualization tool
Streamlit visualization tool Lets engineers compare configurations and debug individual queries. Evaluation module

Data flow

GPT-4o generates synthetic designs from realistic topics, sampled design types, titles, and content lengths informed by aggregate privacy-preserving statistics. Queries are generated programmatically and rewritten by GPT-4o, then the local Testcontainers search pipeline indexes the synthetic state and computes evaluation metrics for engineers.

4 supporting quotes
“Generative AI provided the answer, allowing us to create realistic but entirely synthetic content and queries with zero privacy concerns.”article, stated
“To generate each test case in our dataset, we seeded GPT-4o with a realistic topic for a design.”article, stated
“Queries were then generated from these relevant designs using a combination of programmatic techniques and rewriting by GPT-4o.”article, stated
“we built our own custom visualization tool using Streamlit⁠(opens in a new tab or window). This tool allows for comparison of the aggregated recall”article, stated

Why this architecture

Canva used LLMs for offline dataset generation rather than runtime search because synthetic static datasets solve privacy and reproducibility needs while avoiding latency, randomness, and API-cost issues during evaluation runs.

3 supporting quotes
“This means viewing personal Canva designs is strictly off limits, removing the possibility of labeling real user data to act as our evaluation dataset for private design search.”article, stated
“Leveraging LLMs to develop a static evaluation dataset that can be shared among engineers allows us to capitalize on one of their greatest strengths: scalable text generation.”article, stated
“we eliminated the impact of LLM issues such as latency and randomness because once we create the dataset, we can use it repeatedly to produce consistent, deterministic evaluation results in a matter of minutes.”article, stated

Models used: GPT-4o · Search ranking models

Scale

Alternatives considered (roads not taken)

Label real user queries and designs

Rejected because: Privacy policy made viewing personal Canva designs strictly off limits.

“Privacy is incredibly important to Canva. One of our core values is to “Be a Good Human” which applies to everything we do, including handling our community’s information and creations.”article, stated

Rely on a few manual offline queries and online A/B tests

Rejected because: Manual tests had low statistical power and online tests risked exposing users to bad search behavior.

“The method of offline testing had limited statistical power to detect poorly performing changes.”article, stated

Patterns

synthetic-data-generation (evaluation data)

Canva generated synthetic private-search documents and queries so engineers could evaluate search without seeing user data.

“Generative AI provided the answer, allowing us to create realistic but entirely synthetic content and queries with zero privacy concerns.”article, stated

eval-driven-development (quality)

Engineers used local recall and precision evaluations to decide whether search changes should advance to online experiments.

“engineers able to independently and objectively evaluate their code changes locally and have confidence that the results are a true reflection of production behavior.”article, stated

Tradeoffs

Use static synthetic datasets for evaluation.

Chose Generated reusable datasets over Calling an LLM during every evaluation.

Rationale: Static datasets keep evaluation deterministic and fast while avoiding runtime LLM latency and randomness.

“once we create the dataset, we can use it repeatedly to produce consistent, deterministic evaluation results in a matter of minutes.”article, stated

Run search locally before online experiments.

Chose Testcontainers local search pipeline over Immediate online A/B testing.

Rationale: Local evaluation protects users from poor search behavior and enables much faster iteration.

“By progressing changes quickly to online experimentation, we risked exposing users enrolled in experiments to detrimental search behavior”article, stated

Gotchas (what bit them)

Privacy can make standard search evaluation impossible.

Root cause: Private designs and queries could not be inspected to build labeled evaluation datasets.

Resolution: Generate entirely synthetic content and queries and validate offline-online alignment.

“viewing personal Canva designs is strictly off limits, removing the possibility of labeling real user data to act as our evaluation dataset for private design search.”article, stated

LLMs can violate synthetic-data instructions in subtle ways.

Root cause: GPT-4o sometimes refused long titles, repeated or hallucinated misspellings, and missed strict title constraints.

Resolution: Treat generated data as engineering output that must be inspected and refined, not automatically trusted.

“However, we still encountered several issues with GPT-4o following instructions when generating our dataset, including:”article, stated

Synthetic evaluation is useful only if it correlates with online behavior.

Root cause: Offline metrics can become misleading if synthetic cases do not reflect production search changes.

Resolution: Run experiments comparing offline and online results and track alignment for improvements and regressions.

“Offline evaluation is only useful if it allows us to eliminate poorly performing ideas while passing through those likely to be successful to the next stage of online experimentation.”article, stated

Evaluation

Canva evaluates search changes with recall and precision over synthetic test cases, visualizes results in Streamlit, and validates offline results against online experiments.

Metrics: Recall and precision. · More than 1000 test cases. · Under 10 minute local evaluation. · Offline-online positive correlation.

3 supporting quotes
“Recall and precision metrics can then be calculated by comparing the labels to the results returned by the search engine.”article, stated
“Our offline evaluation tool outputs results on our more than 1000 test cases in less than 10 minutes.”article, stated
“These showed robust alignment for changes with both positive and negative performance on our offline metrics.”article, stated

Outcomes

Canva reports 200M MAUs, over 30B designs, almost 300 new designs per second, more than 1000 synthetic test cases, and under-10-minute local evaluation.

“All of this is done in a completely privacy-preserving manner, without viewing a single customer’s designs or queries.”article, stated
“achieving 300x faster iteration cycles compared to traditional A/B testing while maintaining strong correlation with online experiment results”summary, stated