← All work
Case Study 03 / 2025 · B2B SaaS · Schema markup

One feature, two users who wanted opposite things.

Instapage needed schema markup to compete on organic and AI-driven traffic. Marketers didn't know what schema was. SEO specialists knew it cold and didn't trust AI to write it. I designed a dual-track flow for both — and ~78% of the users who start a schema publish it.

RoleLead Product Designer
discovery → MVP handoff
TeamPM, engineering,
partner design team
Research6 moderated sessions
before development
Outcome~78% through-funnel
start → publish
Note

Published with written permission from airSlate (May 2026). Employee names and identifying details are withheld; product UI is captured on demo pages, with no customer data shown.

Quick read · 30 seconds

The whole case, in four lines.

Problem

A new feature in a domain nobody on the team knew — the structured data behind SEO and AI discovery.

Insight

Six sessions surfaced two opposite users: marketers who feared schema, experts who distrusted AI writing it.

Design

Two doors, one flow. AI generation or manual entry, a type picker to sharpen the output, a validation step, and guidance in the panel.

Result

~78% publish once they start. Getting users into the feature is the next constraint.

01 · At a glance
Through-funnel ~78% start a schema → publish it live
Research 6 moderated sessions before a line of code
Users served 2 opposite needs, one surface
Contribution End-to-end research → design → handoff
02 · Context

Why the business wanted this.

The product is a landing-page builder, built for paid campaigns. Budgets were tightening and AI assistants were starting to decide what to surface from structured data — so organic discovery became the cheapest growth left.

Diagram: a landing page's human-readable content, the schema markup layer added on top, and the search and AI-assistant traffic it unlocks
Fig. 01 Schema is invisible to the visitor and central to being found.

What schema markup actually is

A block of code that tells search engines what the content on a page is. Without it, Google sees plain text and has to guess what is what.

A JSON-LD schema block wrapped in a script tag, describing a person, a music group, a location and a product as structured properties
What the machine readsFig. 02 JSON-LD embedded in the page — every fact labelled with a type.
Two search results for the same page compared: with schema markup the listing shows a product image, price, stock status and star rating; without schema it shows only title and plain text
What the person seesFig. 03 The same page in search, with and without schema.
03 · The problem

Two users, opposite needs.

The clearer the user picture got, the more obvious it became that we weren't designing for one person. We called them Norma and Diego.

Two persona cards side by side: a non-technical marketer who doesn't know what schema is, and an SEO specialist who knows schema.org in depth and wants manual control
Fig. 04 Both personas came out of the six moderated sessions.

Design for either one alone and you activate half the audience and alienate the other.

04 · Learning the domain

Nobody on the team had done schema before.

The team started this project without prior expertise in schema markup. So the first decision wasn't what the UI should look like — it was how to learn enough to make the right call.

Illustration: a team with a question mark climbs four steps labelled learn, research, understand and discuss, arriving at a validated block of code
Fig. 05 Learn, research, understand, discuss — before a single screen.

How we tested

Six moderated studies, run directly with users on a clickable prototype.

Illustration of a moderator taking notes at a laptop during a video call with six participants
6 moderated studiesRun directly with users, remote and recorded.
Illustration of a numbered interaction script document with three numbered tasks and a checklist
Interaction scriptFind schema in settings, choose a build method — manual or AI — then save it.
Illustration of a Figma file with a prototype interactions panel open beside a wireframe page
Clickable prototypeGenerated in Figma AI as the artifact under test.

How the study was set up

05 · What we learned

What the sessions surfaced.

4/5 Overall impression of the prototype. What was missing wasn't layout — it was comprehension and trust.
01

Schema feels technical.

Several people confused it with page layout or headings.

02

Confidence depends on experience.

Experienced users trusted it quickly. Newcomers needed more reassurance.

03

Validation happens elsewhere.

People want to check their work without leaving the product.

04

Save vs. publish is unclear.

People couldn't tell whether saving also published the schema live.

Quotes condensed from session recordings. Raw recordings withheld under confidentiality.

06 · Risks into opportunities

Every risk we found had a design answer.

Risks

  • Norma and Diego need different things. Diego is confident and wants control; Norma isn't sure what schema even is. One generic flow loses one of them.
  • Users can't tell if their schema is correct. "Valid" means nothing to them, so they fall back on ChatGPT, Google, and schema.org.
  • No safe line between draft and live. People feared the wrong schema being applied automatically.

Opportunities

  • Guidance tailored by persona. Simple explanations for Norma, precise control for Diego.
  • Validation inside the platform. No round trip to an external validator.
  • A clearer save-and-publish state. Draft and live, named and visible.

Caught cheap, not caught expensive

Caught in discovery

  • Norma and Diego need different things
  • Users can't tell if their schema is correct
  • No safe line between draft and live

If it had reached production

  • A wave of support tickets from confused users
  • A distrusted feature, abandoned for ChatGPT
  • Live pages carrying broken or wrong schema
Takeaway

The feature had to make schema feel approachable to people who didn't know what it was — without dumbing it down for people who knew schema cold and didn't trust AI to write it for them.

Instead of guessing, the team learned in public — with the experts in the room.

07 · The design call

The team wanted AI to do everything. I pushed back.

Takeaway

One wrong AI output and we'd lose the experts — the loudest voice in any SEO community. So neither track got to be the secondary one.

Dual-track flow diagram: the marketer track picks a type and reviews AI-generated schema; the specialist track hand-edits JSON-LD with validation; both converge on the same published schema
Fig. 06 Two entry points, one shipped output — the pattern the whole feature rests on.

What shipped

The feature lives in the page's SEO settings, behind a plain-language explainer and a learn-more link. From that one panel a marketer can have schema generated from a bounded list of types; a specialist can write their own. Both paths land in the same editor, with a validation step, before anything is saved.

Fig. 07

Two doors, equal weight

Generate schema and Add schema sit side by side — same size, same position, inside the page's SEO settings.

The SEO settings panel in the shipped product: a schema markup section with a short explanation, a learn-more link, and two buttons — Generate schema and Add schema
Fig. 08

The manual door

Write or paste your own JSON-LD. The expert path, not a fallback tucked behind the AI one.

The manual path in the shipped product: an Enter your schema panel with an empty numbered JSON editor, a note not to include script attributes, and a validate link
Fig. 09

Constrained type picker

A curated list of page types bounds what the AI is allowed to write. The full schema.org vocabulary is never exposed.

The shipped schema type picker open, listing Auto-detect, Event, Organization, Person, Place, Local Business, Restaurant, Product and Offer, with an explore schema types link
Fig. 10

Auto-detect for anyone unsure

The AI reads the page and proposes the type — the default for Norma, who doesn't yet know which type she needs.

The shipped schema type field set to Auto-detect, with cancel and continue actions
Fig. 11

Editable output

Generated schema lands in the editor rather than on the page. Experts intervene before anything is saved.

The shipped review step: a your schema is ready panel showing generated JSON-LD in a numbered editor, with cancel and regenerate actions
Fig. 12

A validation step before saving

Preventive guidance in the panel — no <script> attributes — plus a one-click check against the spec.

The shipped review panel with the Validate in Schema.org link circled, alongside the preventive note about script attributes

Shipped UI, captured on demo pages — no customer data shown.

The risk with dual-track flows is dithering at the fork. We mitigated it by keeping both doors reachable from each other, and by unifying everything downstream — the editor, the review step, saving. Only the input method differs.

08 · Outcome

Once users are inside, they finish.

Schema funnel · 90-day window

SEO tab opened
~900100%
Schema started
~100~11%
Type picked or JSON pasted
~80~84%
Saved and republished
~75~94%
~78% of users who start a schema publish it. That's the metric the design was built to move.

Rates anchored to post-launch results; absolute counts rounded. Raw numbers withheld.

PRD target~20% of new indexed pages carry schema
PRD target~30% of indexed-page users add one
PRD target>1 page per adopter — not a one-time test
09 · Reflections

What I'd do differently.

More work