Skip to main content
    +-------------------------------------------------+
    |   SUBTRACTIVE FORM DESIGN                       |
    |                                                 |
    |   Before                  After                 |
    |                                                 |
    |   [Field] ───────►       (Hidden)               |
    |   "leave blank"           Nothing               |
    |                                                 |
    |   68% error rate          0% error rate         |
    |                                                 |
    |   Absence is clearer than instruction           |
    +-------------------------------------------------+

Subtractive Form Design

Try this: Watch what happens when you hide the field

A form field with "leave blank for Designer Extensions" got filled out 68% of the time anyway. The fix wasn't better instructions—it was removing the field entirely. Try it yourself below.

Try Both Approaches

Switch between them and notice how it feels to fill out the form

Instructional

Show field with "leave blank for Designer Extensions" instruction

Subtractive

Hide field when it doesn't apply

App Submission Form

Traditional approach with instructions

API-based apps requiring OAuth for installation

The OAuth Authorization URL used to install the app in Webflow. Required for Data Client v2.

What Actually Happened

Data Client v2
Instructional: 5%
Subtractive: 5%
Designer Extension
Instructional: 68%
Subtractive: 0%
Hybrid
Instructional: 8%
Subtractive: 8%

Notice What Happened

A visible field implies it should be filled—no amount of "leave blank" instructions changes that. For Designer Extensions, errors dropped from 68% to 0% by simply hiding the field.

What This Reveals

Sometimes the fix isn't better instructions—it's removing the field entirely.

When the Install URL field appeared for Designer Extensions, problems cascaded:

  • Developers: Confused about what to enter
  • Review Team: Spent time clearing incorrect values
  • Submissions: Delayed by rejection/re-submission cycles

The field didn't belong there. Removing it fixed all three problems at once.

Absence is clearer than instruction.

Try this pattern: Next time you add a "leave blank if..." instruction, ask whether hiding the field would work better.