# Install SparkLayer on Shopify

URL: https://docs.sparklayer.io/help/platforms/shopify/install
Applies to: Shopify

Install the SparkLayer Wholesale app on Shopify, work through Setup and Theme setup, then place a test order as a buyer before you go live.

> **Quick summary**
>
> - Install the [SparkLayer Wholesale app](https://apps.shopify.com/sparklayer) from the Shopify App Store. It works on every Shopify plan, from Basic to Shopify Plus, and on every SparkLayer plan, including the free Basic plan.
> - The app sits in your Shopify admin under **Sales channels**. Work through **Setup** (a price list, a customer group and your first buyer), **Theme setup** and **Try it out**. Most stores finish setup in under 15 minutes.
> - SparkLayer sets itself up on your theme automatically. If something isn't right, our team installs it for you, free of charge.

> **We can set this up with you**
>
> On a paid plan, our team can set up SparkLayer on your store with you in a personalised onboarding session. Click **Book setup call** on **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app, or [book an onboarding call](https://meetings-eu1.hubspot.com/sparklayer/onboarding), and we'll walk you through it. On any plan, we'll [install the widgets on your theme](#ask-our-team-to-install-it) for free. Or follow this guide to do it yourself.

## How it works

SparkLayer adds B2B ordering to your existing Shopify store. Your B2B customers sign in, see their B2B prices, place orders and manage their account. Your retail (DTC) customers see your store as it is today.

Getting SparkLayer live on Shopify:

1. **Install**: Add SparkLayer Wholesale from the Shopify App Store
2. **Setup**: A price list, a customer group and your first buyer
3. **Theme setup**: Check SparkLayer is on your theme
4. **Try it out**: Place a test order as a B2B buyer
5. **Launch**: Invite the rest of your buyers

New to SparkLayer? [How SparkLayer works](https://docs.sparklayer.io/help/get-started/how-sparklayer-works.md) explains the basics, and [Storefront](https://docs.sparklayer.io/help/storefront.md) covers the B2B interfaces SparkLayer adds.

## Before you start

Check you have these in place before you install:

- **Customer accounts turned on**, so customers can sign in to your store. In your Shopify admin, go to **Settings > Customer accounts** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_accounts)) and choose a version. SparkLayer works with both Legacy and new customer accounts: see [Choose your customer accounts version](#choose-your-customer-accounts-version).
- **A unique SKU on every product**, so SparkLayer can store B2B prices against it. If you need to add them, see Shopify's [SKU guide](https://help.shopify.com/en/manual/products/details/sku).
- **Your first buyer's email address.** You can add them in Shopify with the `b2b` tag, or tag a customer you already have. Customers you've already tagged `b2b` in Shopify need at least one complete address on their record. See [Add B2B customers on Shopify](https://docs.sparklayer.io/help/platforms/shopify/invite-customers.md).
- **A payment method on test stores.** If you're installing on a test store, turn on an example payment method at **Settings > Payments** ([open in the Shopify admin](https://admin.shopify.com/settings/payments)).

## Install the app and connect your store

1. Open the [SparkLayer Wholesale app](https://apps.shopify.com/sparklayer) in the Shopify App Store and install it on your store. 
2. Choose a SparkLayer plan when Shopify asks. You're billed through Shopify, and every paid plan is free for 14 days. See [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md).
3. SparkLayer opens on **Home**. It's now a sales channel called **SparkLayer Wholesale** in your Shopify admin, and it starts syncing your products and customers. 

If you created your SparkLayer account first, connect your store from the SparkLayer Dashboard instead. Go to **Integrations > Platform** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform** in the Shopify app, select **Shopify** and enter your store's address. Then install the app and choose a plan when Shopify asks.

**The B2B Ordering app pixel**

SparkLayer also adds an app pixel called **B2B Ordering** to **Settings > Customer events** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_events)). It tells SparkLayer when a customer completes a card payment in the Shopify checkout, so their cart is cleared. You don't need to do anything with it.

## Find your way around the app

In your Shopify admin, click **SparkLayer Wholesale** under **Sales channels** to open **Home**. Each menu item opens an area, with that area's pages as tabs. These are the ones you need to get going:

| Menu item | Use it to |
| --- | --- |
| **Home** | See this week's B2B sales and follow the **Get your first wholesale order** card. |
| **Setup** | Work through the 5 setup steps. |
| **Try it out** | Place a test order as a B2B buyer. |

The same screens are also in the SparkLayer Dashboard at [app.sparklayer.io](https://app.sparklayer.io/).

## Work through Setup

Setup is the checklist that gets you selling. Use it to do each step yourself. Go to **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app: it has 5 steps in 2 groups, and each step ticks itself off when it's done.

[Get started](https://docs.sparklayer.io/help/get-started.md#work-through-the-steps) walks through every step. On Shopify, these details also apply.

### Set up a price list

An **Automatic** price list works from your Shopify prices, for example 50% off your Shopify retail price or 40% off your compare-at price. A **Manual** price list takes exact prices from a CSV file. See [Managing pricing](https://docs.sparklayer.io/help/pricing/managing-pricing.md).

### Assign a price list to a customer group

Each customer group has a Shopify tag, shown under its name, such as `b2b-trade`. A customer joins the group when their Shopify record has the `b2b` tag and the group's tag. Customers with only `b2b` get the **Base customer group**. See [Customer groups](https://docs.sparklayer.io/help/customers/customer-groups.md).

### Add your first buyer

To add the buyer yourself, create them in your Shopify admin as a new customer with the `b2b` tag. See [Add a new customer from scratch](https://docs.sparklayer.io/help/platforms/shopify/invite-customers.md#add-a-new-customer).

### Tag existing customers in Shopify

Customers already in Shopify become B2B customers through their tags. Check each one has:

- **The `b2b` tag** on their Shopify customer record.
- **Their group's tag**, if they belong to a group other than Base: for example `b2b` and `b2b-vip`.
- **No more than 2 B2B tags.** `b2b` with `b2b-vip` is correct; `b2b` with `b2b-vip` and `b2b-user` is not.
- **At least one complete address** on their Shopify record, so they can get through checkout.

To add a tag, open the customer in Shopify and type it in the **Tags** field. If the tag doesn't exist yet, Shopify creates it. To tag many customers at once, see [Add B2B customers on Shopify](https://docs.sparklayer.io/help/platforms/shopify/invite-customers.md#tag-existing-customers). Customers that don't sync show in a banner at **Customers** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/list)), or **SparkLayer Wholesale > Customers** in the Shopify app: click **Show errors** to see why.

If you use Shopify's B2B companies, see [Shopify Companies](https://docs.sparklayer.io/help/platforms/shopify/companies.md) for how they work with SparkLayer.

## Add SparkLayer to your theme

With your prices and buyers ready, check SparkLayer is on your theme. The SparkLayer frontend is a set of B2B widgets that sit over parts of your Shopify store: the cart and account area, the product page and the product cards on collection pages. They only appear for signed-in B2B customers, so your retail store is untouched.

When you install the app, SparkLayer sets itself up on your theme automatically. Steps 4 and 5 of Setup, **Add SparkLayer to your theme** and **Publish theme**, check it for the theme you choose under **Select theme**. You don't have to edit any theme code yourself. To check each SparkLayer block is on, click **Review theme setup** on step 4: [Theme setup](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md) explains every block, and the 3 ways to install SparkLayer on your theme.

### Ask our team to install it

If you'd rather not touch your theme, or something doesn't look right, our team installs SparkLayer for you, free of charge, on every plan. Click **Something not right? Install SparkLayer for me** on Theme setup, or **Request installation** at **Storefront > Widgets** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/frontend/core)), or **SparkLayer Wholesale > Storefront > Widgets** in the Shopify app. See [Ask our team to install it](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md#get-our-team-to-install-it) for what happens next and what the installation includes.

### Match your store's design

Optionally, style the widgets to match your store: button colours, font sizes, spacing and typefaces. This is a CSS change for you or your developer. Add the CSS snippet from [Change your brand colours and fonts](https://docs.sparklayer.io/help/storefront/customising-design.md#add-custom-css-to-your-store) to `theme.liquid` or a separate CSS file. If [our team installed SparkLayer](#ask-our-team-to-install-it), we match your branding for you.

### Use the B2B Dawn theme instead

If you'd rather not change your existing theme, our [B2B Dawn theme](https://docs.sparklayer.io/help/platforms/shopify/dawn-theme.md) comes with all the SparkLayer widgets installed.

### Automatic install on supported themes

SparkLayer works on any Shopify theme. On the themes below, the product detail and product card interfaces are added automatically as app blocks. You don't need the theme code in steps 2 and 3 of [Install the widgets yourself](#install-the-widgets-yourself).

- **Dawn family:** Dawn, Refresh, Sense, Studio, Craft, Taste, Origin, Ride, Colorblock, Crave, Spotlight, Publisher, Trade
- **Horizon family:** Horizon
- **Archetype family:** Impulse, Expanse, Streamline
- **Other:** Savor, Ritual, Vessel, Atelier, Dwell, Pitch, Heritage, Tinker

On these themes, the automatic install also applies a small amount of CSS, so the B2B widgets sit cleanly alongside your theme. If that causes styling conflicts, your developer can [turn off the automatic install](#turn-off-the-automatic-install) and add the interfaces by hand.

### Install the widgets yourself

This section is for you or your developer, if you want to place the widgets by hand. Step 1 takes a couple of clicks. Steps 2 and 3 can be done with the optional blocks on Theme setup, or as theme code changes. Skip the code on a [supported theme](#automatic-install-on-supported-themes), or [ask our team](#ask-our-team-to-install-it) and we do it free of charge.

> **Work on a copy of your theme**
>
> Duplicate your live Shopify theme and make the changes on the copy. Choose the copy under **Select theme** on Setup to check it, then publish it when you're happy with it.

**Step 1.** **Turn on the SparkLayer block**

The **SparkLayer** block loads SparkLayer's JavaScript on your storefront, with the cart and account area. On **Home > Setup > Theme setup** in the SparkLayer Dashboard, or **SparkLayer Wholesale > Setup > Theme setup** in the Shopify app, check it shows **Enabled**. If it doesn't, click **Edit** to open your theme editor at the block. Turn it on and click **Save**.

**Step 2.** **Add the product detail interface**

The [product detail interface](https://docs.sparklayer.io/help/storefront/interfaces/product-detail.md) replaces your product page's buying area with B2B prices and quantity controls when a B2B customer is signed in.

The quickest way is the **Product block**: on Theme setup, click **Add** beside it, place it in the theme editor and click **Save**. To add it in theme code instead, add this snippet to the file that controls your product page. That's usually `main-product.liquid` or `product-template.liquid` in your theme's `/sections/` folder:

```liquid
<spark-pdp parent-id="{{ product.id }}"></spark-pdp>
```

If your theme has a `{% when 'price' %}` block, add the snippet directly beneath it:

```liquid
{% when 'price' %}<spark-pdp parent-id="{{ product.id }}"></spark-pdp>
```

If you're adding SparkLayer to your existing retail theme, hide the elements B2B customers shouldn't see, such as retail prices, quantity selectors, product options and buy buttons. To hide an element, add `data-spark="b2c-only"` to it:

```html
<div data-spark="b2c-only" class="product-meta-reference">
```

The [frontend integration checklist](https://docs.sparklayer.io/developers/frontend.md#frontend-integration-checklist) lists every element to hide.

**Step 3.** **Add the product card interface**

The [product card interface](https://docs.sparklayer.io/help/storefront/interfaces/product-card.md) adds B2B prices and quantity controls to your collection pages, so customers can add items to their order from anywhere in your store.

The quickest way is the **Product card block**: on Theme setup, click **Add** beside it, place it in the theme editor and click **Save**. To add it in theme code instead, find the file that renders product cards on collection pages. That's usually `card-product.liquid`, `product-grid-item.liquid` or similar in your theme's `/snippets/` folder. Look for the line that renders the product title:

```liquid
{{ product.title }}
```

Add this snippet directly below it:

```liquid
<spark-product-card parent-id="{{ product.id }}"></spark-product-card>
```

Depending on your theme, `product.id` may need to be `card_product.id` or similar: check how your theme names the variable. As with the product page, hide any retail elements with `data-spark="b2c-only"`.

When the widgets are in place, use [Try it out](https://docs.sparklayer.io/help/get-started/launching.md#place-a-test-order) to check your product pages and collection pages as a B2B customer. Your developer can use the [frontend integration checklist](https://docs.sparklayer.io/developers/frontend.md#frontend-integration-checklist) to check everything is configured correctly.

### Turn off the automatic install

This is for developers. Turn off the automatic install to control exactly where the interfaces appear on a [supported theme](#automatic-install-on-supported-themes), or to avoid the automatic styling. Add this to your theme's `theme.liquid` file, just before the closing `</head>` tag:

```html
<script>
  window.sparkShopify = {
    options: {
      disableAutoInstall: true
    }
  };
</script>
```

Then follow steps 2 and 3 of [Install the widgets yourself](#install-the-widgets-yourself) to add the interfaces where you want them.

## Choose your customer accounts version

B2B customers sign in to your store with a Shopify customer account, so customer accounts must be turned on. Shopify offers 2 versions:

- **Legacy** (formerly "classic"): customers create an account and sign in with an email and password. Most Shopify stores use this version. It works with third-party apps, and you can customise how it looks.
- **Customer accounts** (often called "new customer accounts"): customers sign in with a one-time code sent to their email, with no password. The account area is Shopify's own, much like the checkout, and can't be restyled.

| Version | Advantages | Disadvantages |
| --- | --- | --- |
| **Legacy** | A smoother customer experience. No extra setup. | Functionality is specific to your Shopify store. Not fully supported by Shopify. |
| **Customer accounts (new)** | Works on all Shopify stores. Actively maintained by Shopify. | Limited customisation (for example, you can't change the look and feel). Customers sign in with a 6-digit code rather than a password. |

To check or change your version:

1. In your Shopify admin, go to **Settings > Customer accounts** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_accounts)).
2. Make sure **Show login links** is on, so the sign-in link shows in your store's header and at checkout.
3. Under **Choose which version of customer accounts to link to**, select **Customer accounts** or **Legacy**, then save.

If you use Legacy accounts, there's nothing more to do. If you use new customer accounts, follow [Set up new customer accounts](#set-up-new-customer-accounts) below.

With new customer accounts, anyone can sign in with an emailed code and get a Shopify customer account, without applying. On a wholesale-only store, see [Wholesale-only stores](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#wholesale-only-stores-customers-who-sign-in-without-a-trade-account) for how to handle them.

### Set up new customer accounts

New customer accounts need 2 changes. The first is required. The second is optional, but makes signing in smoother.

**Step 1.** **Turn on the B2B Account Redirect extension**

When a B2B customer opens Shopify's customer account area, this extension sends them back to your online store, where they can use SparkLayer.

1. In your Shopify admin, go to **Settings > Checkout** ([open in the Shopify admin](https://admin.shopify.com/settings/checkout)).
2. Under **Configurations**, click **Customize** beside your live configuration.
3. From the page selector at the top, open the **Orders** page.
4. Click **Apps** on the left, then turn on the **B2B Account Redirect** extension.
5. Optionally, fill in the extension's **Block settings**:
   - **Redirect Notice (Optional)**: a message shown before the customer is redirected. If you leave it blank, customers see "Please note, you are being redirected to our website to begin your B2B ordering."
   - **Redirect Path (Optional)**: where to send the customer, for example `/collections/all`. If you leave it blank, they go to your homepage.
6. Click **Save**.

You only need to do this once. It applies to every page in the Shopify customer account area. [Theme setup](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md) lists the redirect as a required block, **B2B Account Redirect**, so you can check it's on there.

**Step 2.** **Update your theme's sign-in links (optional, for your developer)**

With a small theme code change, customers return to your store, and the page they were on, after signing in. You can skip this step: signing in works without it. If you'd like it but don't edit theme code yourself, pass the detail below to your developer or [contact our support team](https://docs.sparklayer.io/help/support.md).

**Theme code for your developer**

Shopify's [technical guide to customer account links](https://shopify.dev/docs/storefronts/themes/login) explains the routes used here.

1. In your theme code, find the Liquid code for the account link: usually the person icon in your store's header.
2. Update the link destination as in the sample below.

```html
{%- if shop.customer_accounts_enabled -%}
  <a href="{%- if customer -%}{{ routes.account_url }}{%- else -%}{{ routes.storefront_login_url }}{%- endif -%}"
    class="icon"
    rel="nofollow">
  </a>
{%- endif -%}
```

You can use the same route on any link in your store:

```html
<a href="{%- if customer -%}{{ routes.account_url }}{%- else -%}/customer_authentication/login?return_to={{ request.path | append: "#spark-account" | url_encode }}{%- endif -%}">
Login
</a>
```

If you need help with either step, [contact our support team](https://docs.sparklayer.io/help/support.md).

## Try it out as a buyer

Before you invite anyone, see SparkLayer the way your buyers will.

1. Go to **Orders > Place a test order** in the SparkLayer Dashboard, or **SparkLayer Wholesale > Try it out** in the Shopify app and choose the theme.
2. Work through **Test as a B2B customer**, **Assign a price list** and **Place a test order**.

SparkLayer creates a test customer with the `b2b` tag for you, and the test order doesn't count towards your plan. See [Try it out](https://docs.sparklayer.io/help/get-started/launching.md#place-a-test-order).

## Test and launch

When Setup shows **You're ready to go with SparkLayer** and your test order looks right, work through the [launch checklist](https://docs.sparklayer.io/help/get-started/launching.md). It covers the remaining checks, such as products in the **SparkLayer Wholesale** sales channel, and inviting the rest of your buyers.

To go live, click **Start taking B2B orders** on the app's **Home**. A **preview mode** banner on your store means this step isn't done yet. See [Turn off preview mode](https://docs.sparklayer.io/help/get-started/launching.md#turn-off-preview-mode).

## Troubleshooting

**Diagnose: SparkLayer not showing or looking wrong?** Find out whether it’s the customer, your theme or the launch step.

1. **What’s happening?** Pick the closest match.
   - SparkLayer isn’t showing at all: go to question 2
   - There’s a “preview mode” banner on my store: go to fix A (Finish the last launch step)
   - It looks broken, doubled up or unstyled: go to question 3
   - Prices or buttons are missing on some products: go to fix B (This is usually the product, not your theme)
2. **Is it happening for every B2B customer, or just one?** Sign in as another B2B customer to compare, or use Place a test order, which opens your store as a test B2B customer. Where to look: Orders > Place a test order (SparkLayer).
   - Every B2B customer: go to question 4
   - Just one customer: go to question 5
3. **What looks wrong?** Sign in as a B2B customer and compare with a retail visitor.
   - Two carts or two account icons: go to fix C (Your theme’s own cart is still showing)
   - Colours or styles stopped working after publishing a theme: go to fix D (Check SparkLayer isn’t loaded twice)
   - Retail elements show to B2B customers: go to fix E (Hide the retail element for B2B customers)
   - The cart count in my header is wrong: go to fix F (The SparkLayer cart is separate from your theme’s cart)
   - A button or feature is missing, such as shopping lists: go to fix G (Your theme may have an older version of SparkLayer)
   - It broke after a theme change: go to fix H (Add SparkLayer to your new theme)
   - Something else: go to fix I (We’ll need to look at your theme)
4. **Have you changed, updated or duplicated your live theme recently?** SparkLayer is added to a theme, so a new or updated theme won’t include it until it’s added there too. Where to look: Online Store > Themes (Shopify admin).
   - Yes: go to fix H (Add SparkLayer to your new theme)
   - No: go to question 6
5. **Are you checking while signed in as that customer?** SparkLayer only appears once a B2B customer signs in. Retail and signed-out visitors see your store as normal.
   - Yes: go to question 7
   - No / not sure: go to fix J (Sign in as the customer first)
6. **Does Theme setup show SparkLayer’s required blocks turned on for your live theme?** Theme setup checks the app blocks on your theme and lets you turn on any that are off. Where to look: Home > Setup > Theme setup (SparkLayer).
   - Yes: go to question 8
   - No / not sure: go to fix K (Turn on SparkLayer’s blocks)
7. **Does the customer have the `b2b` tag?** Check the spelling exactly, with no extra spaces or characters. Where to look: Customers > select the customer > Tags (Shopify admin).
   - Yes: go to question 9
   - No: go to fix L (Add the `b2b` tag)
8. **Did it stop suddenly, for everyone, without any change on your side?** For example, B2B customers are signed out straight after signing in, or see a blank page.
   - Yes: go to fix M (This may be on our side)
   - No: go to fix I (We’ll need to look at your theme)
9. **Are they signing in with the same email as that customer record?** Signing in with a different or mistyped email creates a new retail customer without the tag.
   - Yes: go to fix N (Check the customer has synced)
   - No / not sure: go to fix O (Sign in with the email on the customer record)

**Fixes**

- **A. Finish the last launch step** The banner means SparkLayer is still in preview. In your Shopify admin, open SparkLayer Wholesale under Sales channels and click Start taking B2B orders. If the button isn’t there, a setup step such as adding SparkLayer to your theme isn’t complete yet. Finish it, or ask us to check: we may ask for collaborator access with the Apps and channels permission. Where: Sales channels > SparkLayer Wholesale (Shopify admin). See [Launch checklist](https://docs.sparklayer.io/help/get-started/launching.md).
- **B. This is usually the product, not your theme** When SparkLayer shows but some products have no price or buttons, the cause is usually the product’s SKU, sales channel or price list. Next: Product missing, no B2B price or “Unavailable”?
- **C. Your theme’s own cart is still showing** SparkLayer replaces the cart and account links for signed-in B2B customers. If both show, your theme’s header hasn’t been set up for SparkLayer, which is common after a theme update. Send us the theme name and we’ll fix it.
- **D. Check SparkLayer isn’t loaded twice** If SparkLayer is added by the app embed and also by a copy of its script in the theme code, the second copy can override your styles. Keep the app embed and remove the hard-coded script. CSS variables start with two hyphens, for example `--spark-button-color`. Where: Online Store > Themes (Shopify admin). See [Customise the design](https://docs.sparklayer.io/help/storefront/customising-design.md).
- **E. Hide the retail element for B2B customers** Theme or app elements meant for retail shoppers need hiding when a B2B customer signs in, usually after adding a new app or section. Send us a screenshot and the page link and we’ll hide it, or hide it yourself with B2B-only content. See [B2B-only content](https://docs.sparklayer.io/help/platforms/shopify/customisations/b2b-only-content.md).
- **F. The SparkLayer cart is separate from your theme’s cart** Your header’s cart count reads Shopify’s cart, so for B2B customers it shows 0 or items added before they signed in. Hide the count for B2B customers, or have a developer keep it in step with SparkLayer’s cart using the JavaScript SDK. We can hide it for you. See [JavaScript SDK: cart](https://docs.sparklayer.io/developers/javascript-sdk/cart.md).
- **G. Your theme may have an older version of SparkLayer** Newer features need a recent version of SparkLayer’s storefront code on your theme. Tell us which feature is missing and the theme name, and we’ll update it.
- **H. Add SparkLayer to your new theme** Your new or updated theme doesn’t include SparkLayer yet. Turn on its blocks in Theme setup, or ask us to install it for you, free. Ideally do this before you publish the theme, so B2B customers aren’t affected. Where: Home > Setup > Theme setup (SparkLayer). See [Theme setup](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md).
- **I. We’ll need to look at your theme** Your setup looks right, so we'll take it from here. Send us your answers with a link to your store and the theme name.
- **J. Sign in as the customer first** SparkLayer only appears for signed-in B2B customers. Sign in as them, or use Place a test order to open your store as a test B2B customer, and check again. Where: Orders > Place a test order (SparkLayer).
- **K. Turn on SparkLayer’s blocks** Without them SparkLayer can’t load for anyone. Turn on any required block that’s off. If one won’t turn on, ask us to install SparkLayer on your theme, free. Where: Home > Setup > Theme setup (SparkLayer). See [Ask our team to install it](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md#get-our-team-to-install-it).
- **L. Add the `b2b` tag** Without it the customer shops as retail and sees none of SparkLayer. Add the tag, save, then ask them to sign out and back in. Where: Customers > select the customer > Tags (Shopify admin).
- **M. This may be on our side** If nothing changed on your store, ask your customers to sign out and back in (clearing cookies helps), then tell us straight away. A sync error on one customer never signs out everyone.
- **N. Check the customer has synced** Their tag is right, so check SparkLayer has their record. Click Show errors on the sync banner. A missing or incomplete address stops a customer syncing: every address in their Shopify address book needs a country, city, address line 1 and postcode. An “Invalid customer group” error means a tag doesn’t match any customer group. Where: Customers (SparkLayer). See [Fix customers that won’t sync](https://docs.sparklayer.io/help/guides/fix-sync-problems.md).
- **O. Sign in with the email on the customer record** A different or mistyped email creates a separate retail customer with no tags. Sign in with the exact email that has the `b2b` tag. You can delete the extra customer in Shopify. Where: Customers > select the customer > Tags (Shopify admin).

**My store shows a preview mode banner**

The final launch step isn't done. In your Shopify admin, open **SparkLayer Wholesale** under **Sales channels** and click **Start taking B2B orders** on **Home**. If the button isn't there, the app thinks a setup step isn't complete, such as **Add SparkLayer to your theme**: check **Home > Setup** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/)), or **SparkLayer Wholesale > Setup** in the Shopify app. If every step looks done, [contact us](https://docs.sparklayer.io/help/support.md). We may need collaborator access to your store with the **Apps and channels** permission. See [Turn off preview mode](https://docs.sparklayer.io/help/get-started/launching.md#turn-off-preview-mode).

**Someone signed in without a trade account and sees retail prices**

With new customer accounts, anyone can sign in with an emailed code. SparkLayer only loads for customers tagged `b2b`, so they see your store as a retail shopper. See [Wholesale-only stores](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#wholesale-only-stores-customers-who-sign-in-without-a-trade-account).

For other problems, such as pricing, see [Troubleshooting](https://docs.sparklayer.io/help/troubleshooting.md), or [contact our support team](https://docs.sparklayer.io/help/support.md).

## Recommended next steps

Once SparkLayer is live, optional extras improve the B2B experience, such as a B2B login and registration page, B2B-only products, pack sizes and B2B shipping. See [Turn on extra B2B features](https://docs.sparklayer.io/help/get-started/launching.md#turn-on-extra-b2b-features) and [Shopify customisations](https://docs.sparklayer.io/help/platforms/shopify/customisations.md). For every storefront option, see [Storefront](https://docs.sparklayer.io/help/storefront.md).

Answers to common questions about plans, setup, payments, products and orders are in [Shopify FAQs](https://docs.sparklayer.io/help/platforms/shopify/faqs.md).

- [Theme setup](https://docs.sparklayer.io/help/platforms/shopify/theme-setup.md): Check SparkLayer's blocks on your theme, or ask our team to install it
- [Launch checklist](https://docs.sparklayer.io/help/get-started/launching.md): The final checks, then invite your B2B customers
