--- title: Customize sections description: Learn how to style the sections on checkout pages with the GraphQL Admin API's checkout branding types. source_url: html: https://shopify.dev/docs/apps/build/checkout/styling/customize-sections md: https://shopify.dev/docs/apps/build/checkout/styling/customize-sections.md --- ExpandOn this page * [What you'll learn](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#what-youll-learn) * [Requirements](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#requirements) * [Step 1: Retrieve the store's published checkout profile ID](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-1-retrieve-the-stores-published-checkout-profile-id) * [Step 2: Style checkout's main sections](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-2-style-checkouts-main-sections) * [Step 3: Style sections with a custom color scheme](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-3-style-sections-with-a-custom-color-scheme) * [Next steps](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#next-steps) # Customize sections Sections logically organize groups of content at checkout. Section styling highlights or contours the look of a page, creating high visual impact and expressiveness in structured content. With section styles, you can define and add visual emphasis to sections by defining elements like color schemes, padding, border styles, and more. Well-styled sections make it unequivocally clear to customers where they are in the checkout process and where they can find essential information. This guide explains how to style common checkout sections, including the header, footer, main section, and order summary. You'll learn some sample customizations, but you can use what you've learned to make other sections customizations. Note Borders around the sections in the following example represent the one-page checkout experience. In three-page checkout, each step has a single section, with the exception of express checkout options such as Shop Pay, Google Pay, and Apple Pay. Tip You can reset styles to their defaults by writing parent fields to `null` with the GraphQL Admin API. Refer to examples of resetting [some](https://shopify.dev/docs/api/admin-graphql/latest/mutations/checkoutBrandingUpsert#examples-Reset_color_schemes_to_the_defaults) and [all](https://shopify.dev/docs/api/admin-graphql/latest/mutations/checkoutBrandingUpsert#examples-Reset_all_styling_to_defaults) values to the defaults. *** ## What you'll learn In this tutorial, you'll learn how to do the following tasks: * Retrieve the store's checkout profile ID. * Style checkout's main sections. * Define a custom color scheme, and apply this scheme to checkout sections. * Style the order summary section. *** ## Requirements * The store that you're modifying must be on a [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plan). * You've created a new [development store](https://shopify.dev/docs/api/development-stores#create-a-development-store-to-test-your-app) with the [Checkout and Customer Accounts Extensibility](https://shopify.dev/docs/api/developer-previews#checkout-and-customer-accounts-extensibility-developer-preview) feature preview enabled. * You can make [authenticated requests](https://shopify.dev/docs/api/admin-graphql#authentication) to the GraphQL Admin API. * You've either [installed the GraphiQL app](https://shopify-graphiql-app.shopifycloud.com/login) on your store or [created an app](https://shopify.dev/docs/apps/build/scaffold-app), with the `read_checkout_branding_settings` and `write_checkout_branding_settings` [access scopes](https://shopify.dev/docs/api/usage/access-scopes). * You're using API version `2024-04` or higher. * You're familiar with the [GraphQL Admin API's branding types](https://shopify.dev/docs/apps/build/checkout/styling#data-structures). *** ## Step 1: Retrieve the store's published checkout profile ID Checkout styling properties apply to a [checkout profile ID](https://shopify.dev/docs/apps/build/checkout/styling#checkout-profile). In this step, you'll retrieve the checkout profile to which you'll apply sections changes. 1. Query [`checkoutProfiles`](https://shopify.dev/docs/api/admin-graphql/latest/queries/checkoutProfiles) to retrieve a list of checkout profile IDs. The `is_published` parameter indicates which checkout profile is currently applied to your store's live checkout. ## POST https\://{shop}.myshopify.com/api/{api\_version}/graphql.json ## GraphQL query ```graphql query checkoutProfiles { checkoutProfiles(first: 1, query: "is_published:true") { edges { node { id name } } } } ``` ## JSON response ```json { "data": { "checkoutProfiles": { "edges": [ { "node": { "id": "gid://shopify/CheckoutProfile/1", "name": "Default checkout profile" } } ] } } } ``` 1. Make note of your corresponding ID from the list. You'll supply the ID in subsequent mutations. *** ## Step 2: Style checkout's main sections In this step, you'll apply one of the default color schemes to checkout's main sections. You'll also set the corner radius so that the sections have square corners, and add some padding and a border around them. For all of these customizations, you'll use the [`checkoutBrandingUpsert`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/checkoutBrandingUpsert) mutation's `customizations` object and the [`CheckoutBrandingInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingInput) input object. Tip Altering this section helps to distinguish it from other sections, so that customers can consume related information in smaller, more manageable segments. ## POST https\://{shop}.myshopify.com/api/{api\_version}/graphql.json ## GraphQL mutation ```graphql mutation checkoutBrandingUpsert($checkoutBrandingInput: CheckoutBrandingInput!, $checkoutProfileId: ID!) { checkoutBrandingUpsert(checkoutBrandingInput: $checkoutBrandingInput, checkoutProfileId: $checkoutProfileId) { checkoutBranding { customizations { main { section { colorScheme cornerRadius padding border } } } } userErrors { field message } } } ``` ## Query variables ```json { "checkoutProfileId": "gid://shopify/CheckoutProfile/YOUR_CHECKOUT_PROFILE_ID_HERE", "checkoutBrandingInput": { "customizations": { "main": { "section": { "colorScheme": "COLOR_SCHEME2", "cornerRadius": "NONE", "padding": "LARGE_200", "border": "FULL" } } } } } ``` ## JSON response ```json { "data": { "checkoutBrandingUpsert": { "checkoutBranding": { "customizations": { "main": { "section": { "colorScheme": "COLOR_SCHEME2", "cornerRadius": "NONE", "padding": "LARGE_200", "border": "FULL" } } } }, "userErrors": [] } } } ``` ![The main sections at checkout displaying colors, square corners, padding, and a border](https://cdn.shopify.com/shopifycloud/shopify-dev/production/assets/assets/images/apps/checkout/styling/sections/main-section-2x-Bq7s0nA9.png) *** ## Step 3: Style sections with a custom color scheme In this step, you'll define a third color scheme that you'll apply to some more checkout sections. Because you're defining a color scheme, you'll use the [`checkoutBrandingUpsert`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/checkoutBrandingUpsert) mutation's `designSystem` object and the [`CheckoutBrandingInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingInput) input object. When you apply that color scheme to sections, you'll do so with the `customizations` object. Tip Consistent styling across these sections amplifies the merchant's brand presence. 1. Define the color scheme: ## POST https\://{shop}.myshopify.com/api/{api\_version}/graphql.json ## GraphQL mutation ```graphql mutation ChangeColorScheme1($checkoutBrandingInput: CheckoutBrandingInput!, $checkoutProfileId: ID!) { checkoutBrandingUpsert(checkoutBrandingInput: $checkoutBrandingInput, checkoutProfileId: $checkoutProfileId) { checkoutBranding { designSystem { colors { schemes { scheme3 { base { background text border icon accent decorative }, control { background } } } } } } } } ``` ## Query variables ```json { "checkoutProfileId": "gid://shopify/CheckoutProfile/1", "checkoutBrandingInput": { "designSystem": { "colors": { "schemes": { "scheme3": { "base": { "background": "#F7FAF5", "text": "#44691E", "border": "#DCE9D3", "icon": "#44691E", "accent": "#44691E", "decorative": "#44691E" }, "control": { "background": "#F7FAF5" } } } } } } } ``` ## JSON response ```json { "data": { "checkoutBrandingUpsert": { "checkoutBranding": { "designSystem": { "colors": { "schemes": { "scheme3": { "base": { "background": "#f7faf5", "text": "#44691e", "border": "#dce9d3", "icon": "#44691e", "accent": "#44691e", "decorative": "#44691e" }, "control": { "background": "#f7faf5" } } } } } } } } } ``` 2. Assign the custom color scheme to the sections. ## POST https\://{shop}.myshopify.com/api/{api\_version}/graphql.json ## GraphQL mutation ```graphql mutation checkoutBrandingUpsert($checkoutBrandingInput: CheckoutBrandingInput!, $checkoutProfileId: ID!) { checkoutBrandingUpsert(checkoutBrandingInput: $checkoutBrandingInput, checkoutProfileId: $checkoutProfileId) { checkoutBranding { customizations { header { colorScheme } main { section { colorScheme } } footer { position colorScheme } } } } } ``` ## Query variables ```json { "checkoutProfileId": "gid://shopify/CheckoutProfile/YOUR_CHECKOUT_PROFILE_ID_HERE", "checkoutBrandingInput": { "customizations": { "header": { "colorScheme": "COLOR_SCHEME3" }, "main": { "section": { "colorScheme": "COLOR_SCHEME3" } }, "footer": { "position": "END", "colorScheme": "COLOR_SCHEME3" } } } } ``` ## JSON response ```json { "data": { "checkoutBrandingUpsert": { "checkoutBranding": { "customizations": { "header": { "colorScheme": "COLOR_SCHEME3" }, "main": { "section": { "colorScheme": "COLOR_SCHEME3" } }, "footer": { "position": "END", "colorScheme": "COLOR_SCHEME3" } } } } } } ``` ![The color scheme applied to the header, footer, and main sections of checkout.](https://cdn.shopify.com/shopifycloud/shopify-dev/production/assets/assets/images/apps/checkout/styling/sections/custom-scheme-2x-C-6SBoq_.png) *** ## Next steps * Explore the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql/latest/mutations/checkoutBrandingUpsert) to learn more about customizing checkout's styling sections. *** * [What you'll learn](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#what-youll-learn) * [Requirements](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#requirements) * [Step 1: Retrieve the store's published checkout profile ID](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-1-retrieve-the-stores-published-checkout-profile-id) * [Step 2: Style checkout's main sections](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-2-style-checkouts-main-sections) * [Step 3: Style sections with a custom color scheme](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#step-3-style-sections-with-a-custom-color-scheme) * [Next steps](https://shopify.dev/docs/apps/build/checkout/styling/customize-sections#next-steps)