Skip to main content

Navigation

Navigation enables merchants to move between sections of your app.

Why is navigation important?

Navigation is how merchants move from task to task. A good navigation structure enables merchants to complete tasks easily and without friction. Build your app's navigation around what merchants need to do.

Navigation elements display in the following areas:

  1. App nav
  2. App header
  3. Page header
A primary button that's labeled "Upload image" and a secondary button that's labeled "More actions". The secondary button has a dropdown menu with two items, "Export templates" and "Preview all".

Information architecture

Information architecture (IA) is the practice of organizing sections so that they make sense as a whole.

Why is IA important?

IA shows merchants where they currently are, and how to navigate the rest of the app. It should be obvious what previously happened and what will happen next.

Rely on the relationship between the app nav and app body components to guide merchants where they need to go.

Use the fewest possible categories to define what your app does.

The Shopify admin with numbered indicators for the app nav (labeled 1), the app header (labeled 2), and the page header (labeled 3).
App pages that are linked together to form a cohesive information architecture. Users can navigate between pages by clicking on links in the app nav and on breadcrumbs.

Merchants should be able to return to the previous page without using the browser button. To achieve this, your app can provide breadcrumbs or a Back button on the page.

The title of a page called "Create template" with a breadcrumb to the previous page, which is called "Template".

Don't send merchants outside of the Shopify admin for key actions or during primary workflows.

App home

The app URL specified in the Partner Dashboard should point to your app homepage. This page is the default view when your app's name is selected in the Shopify admin.

If you're building an app that's made entirely of extensions, then a default app home URL and homepage is provided.

A dialog card containing a button that's labeled "View free image", with an icon that indicates it sends the user to an external page when clicked.

Use the app name to point at your app's homepage. This is controlled in the Partner Dashboard, under App Setup > App URL.

An app's homepage with the app's name highlighted in the app nav.

Avoid duplicating the app homepage's URL in your navigation.

App nav

The app nav gives merchants a way to move between pages of your app.

The app nav is located in the sidebar in the Shopify admin and in the header in Shopify mobile.

An app's homepage with a link to the homepage in the app nav.

If your app has different sections, then use the App Bridge ui-nav-menu web component or NavMenu React component to integrate the sections into the Shopify admin and Shopify mobile navigation.

A navigation menu App Bridge component as rendered in the Shopify admin's app nav. The component is showcased next to its code equivalent.

Use tabs sparingly for secondary navigation purposes when the ui-nav-menu isn't sufficient. Clicking a tab should only change the content below it, not above. Tabs should never wrap onto multiple lines. Navigating between tabs shouldn't cause the tabs to change position or move.

An example of horizontal tabs used for secondary navigation purposes within the embedded app area.

Make navigation items short and scannable. Use nouns instead of verbs to keep the navigation menu concise.

An app nav with concisely-labeled items like "Templates", "Photos", "Puzzles", and "Examples".

When you use more than seven items in the ui-nav-menu web component or NavMenu React component, item seven and above are truncated into a View more button.

An app nav with so many items that they get truncated into a section called "View more".

Avoid replicating the app nav content in the app body, as it results in unnecessary repetition.

A card in the app body that replicates app nav links to other pages of the app.

Avoid placing the main navigation in the page header. This can mislead merchants. The page header is reserved for in-page actions.

App name

The app name represents a way for merchants to identify your app across multiple touchpoints in the Shopify admin.

The app name can be shorter than the Shopify App Store listing, so that it fits into the app nav.

Info

To change your app name, in the Partner Dashboard navigate to App setup.

Buttons being used as navigation links in the page header.

Keep app names short, with no more than 20 characters. Names beyond 20 characters will be truncated.

The app name, which reads "Puzzlify" and is entirely visible.

Avoid putting a description in the app name. Put the description in the Shopify App Store listing instead.

Navigation icon

Submit a navigation icon that displays in the app nav. The navigation icon is gray when it's inactive and green when it's active.

To learn more about designing your navigation icon, refer to the visual design guidelines.

Info

To change your navigation icon, navigate to App setup > Embedded app in the Partner Dashboard.

The app name, which reads "Puzzlify, an easy to use jigsaw puzzle app", but the latter half of the text is truncated by an ellipsis and isn't visible.

If you're using an SVG icon in the Shopify admin navigation, then it should look similar to your app's App Store icon. It's not mandatory to have an SVG icon.

An image of PNG and SVG Puzzlify icons. The two icons look similar, though not identical.

Navigation app icons are cropped with a 4px border radius. You don't need to submit your icon with rounded corners.

App header

The app header contains main structural pieces for your app. It's the header that merchants will interact with throughout the entire app experience.

The app header contains the following elements:

  1. App icon and name
  2. Pinning icon
  3. Overflow menu
A guideline illustrating the icon crop radius.

Overflow menu

The overflow menu is reserved for additional support information about your app.

The overflow menu includes the following content:

  • About this app
  • Support

At this time, the overflow menu isn't customizable.

Info

On mobile, the option to pin the app is collapsed into the overflow menu.

The app header, which represents the topmost part of an app. Included in the image are the app icon and app name (labeled 1), the pinning icon (labeled 2), and the overflow menu (labeled 3).

Page header

The page header contains titles and actions for a specific page.

The page header should, at the very least, contain the page's title. You can optionally add more elements, such as buttons. For examples, refer to the ui-title-bar web component or TitleBar React component documentation.

The app header, which focuses on the overflow menu. There's a visible selection box with links to learn about the app and get support.

Use App Bridge's ui-title-bar web component or TitleBar React component to integrate with the Shopify admin's navigation. This helps your app stay within recommended guidelines.

Page title

The page title should be short and describe the general purpose of the page.

Try to limit each page to a single purpose. Merchants prefer focusing their attention on specific tasks, and splitting their attention might damage the user experience.

The page header with a code block showcasing the App Bridge TitleBar component.

Primary and secondary actions

The primary and secondary buttons in the ui-title-bar web component or TitleBar React component initiate a page-specific action.

Primary and secondary button labels should have the following attributes:

  • Clarity and predictability: Merchants should be able to anticipate what will happen when they click a page action.
  • Action led: Button labels should always lead with a strong verb that encourages action. To provide enough context for merchants, use a {verb}+{noun} format.
The page header with the current page title, "Templates" in focus.
The page header with a primary button that's labeled "New templates" and a secondary button that's labeled "Export templates", in focus.

Offer merchants clear and predictable action labels.

A primary button that's labeled "New template" and a secondary button that's labeled "Export templates".

The ui-title-bar web component or TitleBar React component accepts one primary action and multiple secondary actions. When more than one secondary action is present, they're truncated into a More actions dropdown.