Indonesia Singapore ไทย Pilipinas Việt Nam Malaysia မြန်မာ ລາວ
← Back to Blog

Why Naming Your UI Components Is a Data Problem

Standardise UI component names before you build your analytics layer — bad taxonomy upstream poisons every segment and report downstream.

A figure standing at a crossroads of tangled data pipelines and design component cards, trying to match names between two systems
Illustrated by Mikael Venne

Inconsistent UI component naming breaks more than your design system — it corrupts your analytics, segments, and decisioning logic. Here's how to fix it.

Most design teams treat component naming as a housekeeping task — something you’ll clean up after launch, when there’s time. There’s never time. And the mess that accumulates is not just an inconvenience for developers hunting through a Figma library. It’s a data integrity problem that quietly invalidates your analytics, breaks your event-tracking taxonomy, and makes your audience segments unreliable. I’ve spent enough time debugging misattributed conversion events to say this plainly: the naming decisions your design team makes in week one will haunt your data warehouse for years.

Your Component Names Are Your Event Schema

When Smashing Magazine’s Vitaly Friedman published a practical guide to naming UI components this month, the UX community treated it as a craft question — how do you call a thing what it is? But from where I sit, it’s a data architecture question. Every component name that ships becomes a candidate for an analytics event label. A “Hero CTA” versus a “Primary Banner Button” versus a “Home Screen Action Module” are not interchangeable — they describe different assumptions about hierarchy, placement, and intent. When three designers use three conventions across a six-month sprint, your event log becomes a taxonomy nightmare. Shopee’s product teams, for instance, operate across seven markets with localised front-ends; without a shared component naming convention enforced at the design system level, cross-market funnel analysis requires manual reconciliation that no BI team should be doing at scale.

The fix is boring and therefore ignored: establish a naming convention before you build, not during code review. Friedman’s framework — categorising components by function (navigation, input, feedback, layout) before layering specificity — maps cleanly onto an event naming schema. Function first, context second, variant third. nav-sidebar-collapsed is a name. left-menu-v2-mobile-new is a crime.

The AI Prompting Problem Is the Same Problem

Fabricio Teixeira’s UX Collective newsletter this month surfaced an essay by Caio Braga that reframes AI prompting as a form of self-portrait — the argument being that the clarity of your prompt reflects the clarity of your thinking, your references, and your organisational assumptions. It’s a sharp observation, but it carries a warning for design teams leaning on generative tools to produce UI components at speed.

If your prompts are vague, your outputs are vague. And if your outputs — generated button states, card layouts, modal patterns — ship without being anchored to a named component in your design system, you’ve introduced artefacts with no lineage. No name, no parent, no analytics hook. This is how “de-slopifying” your designs, as Teixeira’s issue puts it, connects directly to data hygiene: sloppy generative output and sloppy naming conventions compound each other. The discipline required to write a precise AI prompt (specific function, specific context, specific constraint) is exactly the discipline required to name a component correctly. Both are acts of taxonomy.

For teams building in markets like Thailand or Vietnam — where interfaces often carry both a Latin-script brand layer and a native-script content layer — this discipline is non-negotiable. A component named ambiguously in English becomes untraceable when localised variants are built on top of it.


Where Naming Breaks Business Outcomes

Let’s be concrete about the downstream damage. Inconsistent component naming typically surfaces in three places: A/B test contamination, personalisation logic failure, and attribution collapse.

In A/B testing, if your experimentation platform is firing events based on component identifiers and those identifiers vary between your control and variant builds — because a designer renamed the button between sprints — you’re measuring noise. Grab’s superapp team has written internally about the operational overhead of maintaining event schema consistency across rapid release cycles; it’s a solved problem only when naming governance is treated as a product requirement, not a design preference.

In personalisation, your decisioning engine needs stable identifiers to serve the right content to the right segment. If the “Promo Banner” that drove conversions in Q2 is now called “Flash Sale Hero” in Q3 because a new designer joined and had opinions, your model has no continuity. It’s not predicting behaviour; it’s predicting label drift.

In attribution, mobile-first markets like Indonesia and the Philippines — where users frequently context-switch between app and mobile web — require component names that remain consistent across platforms. A component that has one name in your React Native codebase and another in your web design system will produce forked analytics trails that your attribution model cannot reconcile.

Building Naming Governance That Scales

The implementation path is straightforward but requires cross-functional buy-in that most organisations underestimate. Start with a three-tier naming convention locked in design tokens: category, component, variant. Make it the single source of truth in your design system, your codebase, and your analytics event dictionary simultaneously — not sequentially.

Assign naming review as a mandatory step in your design-to-dev handoff checklist. This takes approximately ten minutes per component and saves multiples of that in analytics debugging. For teams operating across Southeast Asian markets with multilingual interfaces, add a fourth tier: locale context. A component that renders differently in Bahasa Indonesia than in English is technically a variant — treat it as one in your taxonomy.

The stakeholder conversation is easier than you think. When you frame naming governance as “protecting the integrity of our conversion data,” finance and growth leads pay attention in a way they never do when you call it a “design system audit.”


Key Takeaways

  • Treat component naming as a data schema decision from day one — every name you ship becomes a candidate event label in your analytics layer.
  • AI-generated UI components must be anchored to named design system entries before they ship; unlinked artefacts have no analytics lineage and compound tracking debt.
  • For Southeast Asian multi-market teams, naming conventions must account for localised variants explicitly — ambiguous taxonomy at the design level creates irreconcilable data splits downstream.

The deeper question worth sitting with: if your design system is effectively the front-end of your data model, who owns the governance of that intersection? Right now, in most organisations, nobody does — and that gap is costing more than anyone has measured.


At grzzly, we work with digital teams across Southeast Asia at exactly this intersection — where design decisions become data problems and data problems erode campaign performance. If your analytics feels unreliable or your personalisation logic keeps breaking, the root cause is often earlier in the stack than you’d expect. Let’s talk

Mellow Grizzly

Written by

Mellow Grizzly

Translating raw data into activated audience segments, predictive models, and decisioning logic. Comfortable at the intersection of the data warehouse and the campaign manager.

Enjoyed this?
Let's talk.

Start a conversation