Skip to main content
Migrate to Polaris

Version 2025-07 is the last API version to support React-based UI components. Later versions use web components, native UI elements with built-in accessibility, better performance, and consistent styling with Shopify's design system. Check out the migration guide to upgrade your extension.

Profile page (default)

Profile page (default) extensions render on the Profile page in customer accounts. These targets are available for all customers (non-B2B) and help customers manage their account and see updates that matter to them.

  • Custom profile fields: Collect additional information from customers using customer metafields, such as birthday, size preferences, or communication preferences.
  • Address management: Display supplementary address information or validation notices alongside the customer's saved addresses.
  • Announcements: Show dismissible announcements at the top of the Profile page, such as promotional offers, surveys, or account update reminders.
  • Custom profile content: Add app-specific content blocks to the Profile page, such as loyalty programs, subscription preferences, or account-specific tools.
  • Customer engagement: Surface contextual messages or calls-to-action to encourage customers to update their profile or engage with your app.

Anchor to Profile page (default) targetsProfile page (default) targets

Profile page (default) targets render on the Profile page for all customers. They're useful for adding address-related content, announcements, and custom content blocks.

customer-account.profile.addresses.render-after

Renders after the addresses section on the Profile page. This target doesn't show to B2B customers.

Use this target to display supplementary address information, such as address validation notices or delivery preferences. This target gives you access to the Authenticated Account API.

Support
Components (63)
APIs (13)

customer-account.profile.announcement.render

Renders a dismissible announcement at the top of the Profile page.

Use this target to display promotional messages, surveys, or account-related notices. The platform wraps your extension content in a dismissible announcement container, so you render your content directly using standard components.

Support
Components (63)
APIs (13)

customer-account.profile.block.render

Renders a block extension target on the Profile page. This target renders for all customers, including B2B customers.

Merchants can choose to place this extension in any of the supported locations. To preview your extension in each supported location, use the placement reference for that location as a URL parameter.

Support
Components (63)
APIs (13)

  • Keep content contextual: Profile page extensions render alongside customer profile management UI, so content should be directly relevant to the customer's profile or account.
  • Use standard components for announcement targets: The customer-account.profile.announcement.render target wraps your content in a dismissible announcement container. Render your content directly using standard components like InlineStack, Text, and Link.
  • Avoid heavy rendering: These targets render inline within the Profile page. Avoid complex layouts or large data fetches that could cause layout shifts. Use Banner or lightweight BlockStack layouts for the best experience.

  • Addresses target visibility: The customer-account.profile.addresses.render-after target doesn't show to B2B customers. If you need to extend addresses for B2B customers, use customer-account.profile.company-location-addresses.render-after instead.
  • Announcement dismissibility: The customer-account.profile.announcement.render target renders a dismissible announcement. Once dismissed by the customer, the announcement won't reappear until the next page visit.
  • Block placement: The customer-account.profile.block.render target is a block extension whose placement is controlled by the merchant. You can't programmatically control where it appears on the page.

Was this page helpful?