My Account
Try the interactive demo (opens in a new tab) to click through My Account yourself.
This page starts with what your customers see and do in My Account. The settings you control start at Hide the Financials section, Set up quick links to orders and Reorder or hide sections.
How it works
My Account is one of SparkLayer's frontend interfaces. When SparkLayer is installed, it replaces your store's own account area for B2B customers. It opens as a panel over the page the customer is on, with a greeting that uses the customer's first name, such as "Welcome back".
My Cart and My Account tabs at the top let customers switch to the My Cart without leaving the page.
In My Account, customers can:
- See every order they've placed, with its payment status and status, and filter, search and export them.
- Reorder a whole order, a single product or everything bought in a time period.
- Load, edit and delete their shopping lists.
- Add, edit and delete addresses, and choose their default addresses.
- See their account details and, if you use them, their credit limit, balance and payment terms.
- Message your team about orders and quotes, and manage company users if you've turned that on.
Recent Activity
Actions
My Cart
Sections
My Account is made up of these sections, shown in this order by default. You can reorder or hide them.
| Section | What customers see and do | Name in code (for developers) |
|---|---|---|
| Custom content | Your own content at the top of the page, if you've added a custom slot | spark-slot-my-account |
| Recent Activity | Their latest orders and quotes, with a Status filter and View all for the full list | recent-activity |
| Favourites | The products they've saved with the heart icon, if favourites are on, with View all | – |
| Shopping Lists | Their saved shopping lists, each with an Actions menu to load or delete it | shopping-lists |
| Financials | Their Payment terms, Unpaid Balance and Credit Limit, if you use credit terms | financials |
| My Details | Their email address and name, plus any custom fields | my-details |
| Reports | Their purchase history by time period | reports |
| Address Book | Their saved addresses, with Add new address | address-book |
| Company Users | The people who share the account, with Invite new user, if company users is on | company-users |
How customers open My Account
Customers can open My Account from any page in 2 ways:
| Way in | How it works |
|---|---|
| Account link | Your store's account link, usually in the header, opens My Account, as long as it points to /account. |
#spark-account link | Any URL ending in #spark-account, for example https://www.yourstore.com/#spark-account. |
When a signed-in customer goes to your store's own account pages (for example /account), they're redirected to My Account. To send B2B customers to a different URL after they sign in, your developer can update the Core Script. See Customise My Account.
Order history
Every order a customer places through SparkLayer is saved to their order history. The Recent Activity section lists them, newest first:
| Column | What it shows |
|---|---|
| Reference | The order or quote reference. Click it to open the order. |
| Submitted on | The date the order was placed. |
| Payment | The payment status, such as Pending or Paid. |
| Status | The order status, such as Processing or Shipped. See Order statuses. |
| Amount | The order total. |
The Status menu at the top of the section filters the list, for example to All, Processing or Shipped. Each option shows a count. Other filters, such as Awaiting merchant or Requires approval (for company users), appear when the customer has orders in them.
Customers click an order's reference to see its full details, however it was paid for. To rename the order statuses customers see, see Customise My Account.
Search and filter orders
To see all their orders, customers click View all in Recent Activity. This opens the Activity view, where they can filter and search:
| Filter | Options |
|---|---|
| Date | Choose a year or a time period (within a 365-day period), or Custom Date Range with a Start Date and End Date. |
| Search | Search by order ID, purchase order (PO) number, or address (first line, second line, city or zip code). |
Order details
By default, My Account shows completed orders, and purchases that exist only in SparkLayer, such as quotes and orders waiting for approval. Draft orders in your store aren't listed.
An order opens on its own page, headed with its reference (for example My Account › #1001), with 3 tabs and an Actions menu for reordering.
| Tab | What it shows |
|---|---|
| Summary | The Order Summary: Payment Status, Status, Payment Method, Shipping Method, Submitted on, any Additional Information (such as a preferred shipping date) and the Shipping Address. View & download invoice opens the invoice, where there is one. |
| Order Lines | Every product ordered, grouped by status, with its quantity, SKU and options, line total, quantity × unit price and RRP. Each line has Order again. Under the lines, the Order Total: Sub-total, Shipping, Tax, Total, Paid and the Balance, with its due date and terms for orders paid on account. |
| Timeline | Messages and events for the order. See Timeline and messages. |
More detail
- Status is based on the status sent from your store admin or backend system, for example Processing, Shipped or Cancelled.
- Payment Status is, for example, Pending or Paid, and Payment Method shows how the order was paid for, for example On Account. See Payment methods.
- On Shopify, you can customise the order number.
- Where you've supplied a tracking number, it shows on the order too. See Customise My Account.
Order statuses
An order's status sums up the status of all the packages in it. For example, if half the items have shipped and half are still processing, the order shows as Part-shipped. Customers can open the order to see the status of each package.
| Order status | Shown when the packages are |
|---|---|
| Processing | Processing, or Processing and Cancelled |
| Shipped | Shipped |
| Cancelled | Cancelled |
| Returned | Returned |
| Part-returned | Returned and Processing |
| Part-shipped | Shipped and Processing |
| Varied | Any other mix |
SparkLayer also has its own statuses, which don't match a status in your eCommerce platform:
| Status | What it means |
|---|---|
| Awaiting Approval | A limited user has submitted an order, and the main company user needs to approve it. |
| Awaiting merchant | The customer has placed the order, but it isn't a completed order in your store yet: usually a Pay on Account or Pay by Invoice order that's still a draft order for you to complete. It has a purchase ID, such as P#1264. You see it as Awaiting merchant in Orders (opens in your SparkLayer Dashboard in a new tab) too. See Awaiting merchant. |
| Archived | The order has been archived. For example, if a user cancels an order before it's approved, it's archived. |
Orders paid on account or by invoice arrive in your store as draft orders, so they show as Awaiting merchant until you complete them, and their Payment shows Pending until they're paid. On Shopify, Auto-complete draft orders at Integrations,Platform,Shopify order actions (opens in your SparkLayer Dashboard in a new tab) turns them into completed orders automatically.
Purchases that exist only in SparkLayer, such as orders waiting for approval and quotes, have an internal ID. By default it starts with P#, for example P#1264. You can change this prefix, and add a suffix, with Purchase ID prefix and Purchase ID postfix at Settings,Configurations,Store (opens in your SparkLayer Dashboard in a new tab).
Offline and archived orders
You can show orders placed outside SparkLayer, for example over the phone, so customers see their whole order history in one place. Send them with the SparkLayer API. On Shopify, you can also show orders you created in the Shopify admin or imported, with the b2b tag and an order metafield: see Show imported or manual orders in My Account.
Invoices
Depending on your setup, customers can view and download invoices from their order history, with View & download invoice on the order's Summary. See Credit limits and net terms.
Export orders
Customers can download their orders as a CSV file, for example to reconcile them with their own systems or analyse what they buy. The customer:
- Clicks View all in Recent Activity.
- Searches or filters the list to export only some orders. The export includes only the orders shown. For example, filtering by Quote exports only quotes.
- Opens the Download menu in the top right and chooses an option:
| Option | What the file contains |
|---|---|
| Activity | One row per order, with order details such as the order number, date, status and total. Best for an overview. |
| Activity with line items | One row per product line, with product details, quantities, prices, shipping and tracking. Best for analysing products across orders. |
If you use custom fields or line item attributes, they're added as extra columns in the Activity with line items export. Custom field columns start with custom_.
Reorder
Customers can repeat a past order, or order individual products again.
| To reorder | How |
|---|---|
| A whole order | On the order's page, open Actions in the top right and choose an option (see below). |
| One product | Click Order again next to the product in the order's Order Lines. |
| Everything bought in a time period | Use Reports. |
The Actions menu has 2 options:
| Option | What it does |
|---|---|
| Add items to existing cart | Adds the products from the order to what's already in the cart. |
| Create new cart | Replaces what's in the cart with the products from the order. |
Products that aren't available (for example, out of stock) aren't added, unless you've allowed customers to order unavailable products.
Shopping lists
Shopping lists let customers reorder products they've saved, such as a range they always buy or a list of favourites. Every list saved from the My Cart appears in the Shopping Lists section. See Shopping lists.
| Item | Details |
|---|---|
| Name | The name the customer gave the list when saving it in My Cart. |
| Last Updated | When the list was last changed (usually when it was created). |
| Actions | Add items to existing cart adds the list's products to what's already in the cart. Create new cart empties the cart and adds the list's products. Delete deletes the list. |
Reports
The Reports section shows customers what they've bought. They can filter by time period and reorder straight from a report.
| Report | Details |
|---|---|
| Purchase history by time period | Every product the customer has bought over a period, such as by quarter, month or week. They can reorder a whole range of products in a few clicks and go straight to checkout. |
Reports have these limits:
| Limit | Details |
|---|---|
| Time periods | Only the 4 most recent periods of the selected time range are shown. |
| Products | Up to 100 products are shown for a time period. |
Address book
Customers see their saved addresses in My Account, and can choose any of them at checkout in the My Cart. The addresses come from your store admin, or from your backend system through the SparkLayer API.
| Item | Details |
|---|---|
| Default shipping address | The address used for shipping by default, marked with a label. |
| Default billing address | The address used for billing by default, marked with a label. |
| Other addresses | Every other saved address. |
Customers can manage their own address book:
| Task | How |
|---|---|
| Add an address | Click Add new address. |
| Edit an address | Open Actions next to it and choose Edit address. |
| Delete an address | Open Actions next to it and choose Delete address. A default address can't be deleted. |
Address management is on by default. To turn it off, or to stop customers changing their default billing address, see Allow address editing.
Address autocomplete
When customers add or edit an address, they can start typing and choose a suggested address to fill in the rest of the form. This saves typing and reduces mistakes, so orders reach the right place first time.
Suggestions favour your store's country, but matches further afield still appear, so international customers can find their address too.
Local address formats
The address form adapts to the country the customer chooses:
| What changes | Example |
|---|---|
| Field order and labels | The first name and last name fields swap places where that's the local convention. |
| Local terms | Customers in Japan see "Prefecture" instead of "Region". |
These labels are translated into every language SparkLayer supports.
Account details
The My Details section shows the customer's Email address and Name.
If you use credit terms, the Financials section shows their Payment terms, Unpaid Balance and Credit Limit. A note tells them that payments may take some time to update. This information comes from the customer's record in your store admin, or from your backend system through the SparkLayer API.
You can also add your own fields to My Details, such as a website address or sales agent contact details. See Customise My Account.
Hide the Financials section
To stop customers seeing Financials while you still use credit terms, hide it. You don't need code:
- Go to Storefront,Options (opens in your SparkLayer Dashboard in a new tab) and open My Account.
- Turn on Hide financial figures. This hides financial figures everywhere, and the Financials section too.
- Click Save and publish.
Core Script code for your developer
Your developer can do the same in the display section of your Core Script instead:
display: {
hideFinancials: true,
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
display: {
hideFinancials: true,
},
};
</script>Company users
Company users lets a business share one account across a team, with permissions for what each person can do. It's sometimes called company roles or sub-accounts.
When it's on, the Company Users section appears in My Account, listing each person's Name, Email and Role. The main user can add people with Invite new user, and remove them with Actions > Delete user.
Timeline and messages
The Timeline shows the messages, notes, events and related email notifications for an order or quote. Customers see it on the order's Timeline tab. When your team notifies a customer, they get an email and sign in to their account to reply.
Set up quick links to orders
SparkLayer can take a customer or sales agent straight to an order or quote when they click a link. This helps in these cases:
| Scenario | Example |
|---|---|
| Company users | A main user opens an order to approve from an email about a limited user's order. |
| Quoting Engine | A customer or sales agent opens a quote from an email. |
| Orders | You open an order from Orders (opens in your SparkLayer Dashboard in a new tab) in SparkLayer. |
To turn this on, add a one-line script to your store's code. It must load for every visitor, signed in or not.
If a customer or sales agent is already signed in, they're taken to the order whether or not the script is added.
-
In your Shopify admin, go to Online Store,Themes (opens in your Shopify admin in a new tab).
-
Edit the code of your live theme and open
theme.liquid. -
Add this line just before the closing
</head>tag, then save:theme.liquid <script async src="https://cdn.sparklayer.io/spark-redirect.js"></script>
Add this line to your website's code, just before the closing </head> tag:
<script async src="https://cdn.sparklayer.io/spark-redirect.js"></script>Reorder or hide sections
You can change the order of the sections in My Account, for example to move Address Book higher up. You don't need code.
- Go to Storefront,Options (opens in your SparkLayer Dashboard in a new tab) and open My Account.
- Under Account sections, in order, drag the sections into the order you want. Each one shows whether it's Visible.
- Click Save and publish.
See Storefront options.
For developers: reorder or hide sections in the Core Script
Your developer can set the order and hidden sections in the display section of your Core Script instead. They use the names in code from the Sections table: list the sections in order, and add any to hide to hide.
Core Script code for your developer
To set the order, list the sections in the order you want:
display: {
sectionConfiguration: {
'my-account': {
order: [
'recent-activity',
'shopping-lists',
'financials',
'my-details',
'reports',
'address-book',
'company-users',
],
hide: [],
},
},
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
display: {
sectionConfiguration: {
'my-account': {
order: [
'recent-activity',
'shopping-lists',
'financials',
'my-details',
'reports',
'address-book',
'company-users',
],
hide: [],
},
},
},
};
</script>To hide sections, add them to hide. This example hides the reports, address book and company users sections:
display: {
sectionConfiguration: {
'my-account': {
order: [
'recent-activity',
'shopping-lists',
'my-details',
'reports',
'address-book',
'company-users',
],
hide: [
'reports',
'address-book',
'company-users',
],
},
},
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
display: {
sectionConfiguration: {
'my-account': {
order: [
'recent-activity',
'shopping-lists',
'my-details',
'reports',
'address-book',
'company-users',
],
hide: [
'reports',
'address-book',
'company-users',
],
},
},
},
};
</script>Hide sections for some customers
You can show different sections to different customers, for example to hide Recent Activity from limited users. This needs a developer: they build the order or hide list in your platform's template code.
Use Liquid to hide sections based on the customer's company user role. This example hides Recent Activity from limited users:
display: {
sectionConfiguration: {
'my-account': {
hide: [
{% if customer.metafields.sparklayer.role == 'limited-customer' %}
'recent-activity',
{% endif %}
],
},
},
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
display: {
sectionConfiguration: {
'my-account': {
hide: [
{% if customer.metafields.sparklayer.role == 'limited-customer' %}
'recent-activity',
{% endif %}
],
},
},
},
};
</script>The same approach works with customer tags:
display: {
sectionConfiguration: {
'my-account': {
hide: [
{% if customer.tags contains 'b2b-vip' %}
'recent-activity', // Hide recent activity if the customer is b2b-vip
{% endif %}
],
},
},
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
display: {
sectionConfiguration: {
'my-account': {
hide: [
{% if customer.tags contains 'b2b-vip' %}
'recent-activity', // Hide recent activity if the customer is b2b-vip
{% endif %}
],
},
},
},
};
</script>Use your platform's own template logic to output the hide (or order) list for each customer, in the same format as the examples above.
Add your own content
With custom slots, you can add your own content at the top of My Account. For example, a welcome message or a promotion customers see as soon as they sign in.
To add it, go to Storefront,Options,Custom slots (opens in your SparkLayer Dashboard in a new tab) and add the spark-slot-my-account slot. It then appears as a Custom Slot section in the account sections list, where you can drag it into place. If you set the section order in the Core Script, your developer adds spark-slot-my-account to the order list above to choose where it sits.
For other options, see Storefront.
FAQs
By default, My Account lists completed orders and purchases that exist only in SparkLayer, such as quotes. Draft orders in your store aren't shown. Orders placed outside SparkLayer, such as phone orders, only appear if you send them with the SparkLayer API. On Shopify, orders you created in the admin or imported show once they have the b2b tag and the order import metafield: see Show imported or manual orders in My Account.
Products that aren't available, for example because they're out of stock, aren't added unless you've allowed customers to order unavailable products.
Yes. Add #spark-account to the end of any URL on your store, for example https://www.yourstore.com/#spark-account.
Last updated