Shopify and bike shop

Selling bikes on one origin and booking the workshop on another

A bike shop is two businesses sharing a name. One sells bikes and parts through Shopify. The other is a workshop with a diary, and that diary almost never lives at the same address as the shop. The install has to account for both, and the questions arriving at each are different enough that the interesting decision is whether they should be the same assistant at all.

Why this pairing is its own job

The Shopify install guide covers the tag, and the bike shop guide covers what the assistant has to know. What follows is the part that belongs to neither.

  • The workshop books through a scheduling service, which means a second address: a subdomain pointed elsewhere, or a page on the provider's own domain. The tag renders only on origins you have listed, and a subdomain is not the same origin as the shop, so whether the launcher follows a customer to the booking screen is a decision rather than a default.
  • Geometry arrives from the brand as a picture. Reach, stack and standover come as an image of a table pasted into the product description, which is a graphic to anything reading the page. The one document that would answer what size frame am I is the one document with no words in it.
  • Frame size is a variant, so the page offers S, M and L as options with no height ranges attached, and geometry differs enough between models that a rider is not one size across your range.
  • The compatibility material is a set of standards, and standards are not products, so a Shopify store has nowhere natural to put them. The shop knows freehub types and axle spacing perfectly well and has never had a reason to publish any of it.

What changes about the install here

<script src="https://cdn.askably.xyz/w.js" data-key="pk_live_YOUR_KEY" defer></script>

The tag is the same one on the Shopify guide. Everything below is about where it goes on a bike shop site specifically.

Two surfaces, and only one of them is yours to edit

Where the booking tool is embedded into a Shopify page inside a frame, the tag on that page renders the launcher around the frame and not inside it. The booking screen keeps its own behaviour, and a visitor halfway through choosing a slot is looking at somebody else's page with your launcher floating beside it.

Where booking lives on its own subdomain or on the provider's domain, the tag has to go in there separately, and plenty of scheduling products give you nowhere to put one. If that is your situation, the honest position is that the assistant covers the shop and stops at the door of the diary.

Either way, list every origin you want it on before you test, including the myshopify address you preview through. A launcher missing because an origin was never listed looks exactly like a launcher missing because the tag did not save.

Write the safety refusal before the first week, not after it

The first messages a bike shop assistant receives will include a noise from a headset, a soft brake and a crack somebody has found in a frame. Those arrive in week one, not week ten, and the reply they get is either the one you configured before launch or the one it improvised.

The fallback message is the right place for it. Say plainly that you cannot judge a bike from a description, ask the rider not to ride it until the workshop has seen it, and give the route in the same sentence. That is a stronger reply than anything assembled out of a maintenance article, and it is the reply you would want a member of staff to give on the phone.

Set the match threshold high enough that a weak match refuses. A maintenance page about adjusting a brake is close enough, as text, to a question about a brake that has gone soft, and reaching for it is the failure that matters in this trade.

One assistant or two

The shop and the workshop want different behaviour. The shop side answers sizing, standards and the purchase scheme process, and can be reasonably talkative. The workshop side answers turnaround and what a service includes, and should refuse anything mechanical almost immediately.

Where the booking surface is somewhere you can install at all, giving it its own key and its own material is usually worth it, because the strict refusal wording belongs there and nowhere else. A shop running both halves from one assistant ends up with a single refusal written for the more dangerous half, which makes every sizing conversation stiffer than it needs to be.

Where the answerable material lives

Source material on a Shopify bike shop site
Geometry retyped for the sizes you actually stockNot the brand's image. A short table per model, in text, with the height range for each frame size and the reach and stack figures where you have them. You only need the models on the floor, which is a morning of work rather than a project.
The service menu with this week's turnaround on itWhat each tier includes, what sits on top as parts, and how far out the workshop is booking right now. That figure is the most asked and fastest moving number in the shop, so it belongs on a page you edit rather than in a document uploaded once.
A standards reference pageBottom bracket standards, axle spacing, freehub types, brake mount types, speed counts, and which combinations you will not mix. No bike shop has this page, it answers half the parts questions in the inbox, and it is facts rather than judgement, which is exactly what should be automated.
The purchase scheme process, written outWhich schemes you take, the certificate limits, what happens when the bike costs more than the voucher, whether accessories go on it, and how long the paperwork takes. Entirely procedural, asked constantly, and almost never published anywhere a customer can read it at ten at night.

The first thing to get right

Do this first
Put this week's workshop turnaround on a page as a plain sentence, and change that sentence whenever it moves.

It is the most repeated question at the counter and on the phone, the answer is one line, and it is the answer that makes the assistant sound like it works there rather than like a brochure. It also builds the habit everything else depends on, because material that gets edited is material that stays true, and every other document a bike shop indexes decays more slowly than this one number.

The failure that belongs to this combination

It answers a sizing question with the distributor's marketing copy

Product descriptions on a bike store are usually pasted straight from the brand or from a distributor feed, and that copy exists to sell. It contains sentences about confidence inspiring geometry and a frame that suits riders of every size, sitting on the same page as the size option list.

Ask that page what size frame somebody needs and it has something to say. The answer will be fluent, it will carry a citation pointing at a real product page on your own shop, and it will be worthless, because a marketing adjective has been read as a fit recommendation.

Publishing the geometry as text is what fixes it, because it gives a far stronger match for the same question. Until that page exists, the store's best available answer to a sizing question genuinely is the brand's sales copy, and the assistant will find it.

Before you go live

  • The origin the page is served from has to be on the allowlist for that assistant, or nothing renders and the browser console says which origin was refused. An apex domain and its www are two different origins to a browser, so list both, along with any staging or preview host you want it to work on.
  • Open the site as a visitor would, on the pages a bike shop visitor actually lands on, and ask it something only your own material could answer. A widget that renders is not the same as a widget that has read anything.

Questions

Our booking page is at a different address. Does the widget follow the customer there?
No. It renders only on origins you have listed, and a booking subdomain or a provider's own domain is a separate origin needing its own tag. If that host will not let you add one, the assistant covers the shop and stops there, which is worth saying out loud rather than discovering later.
The geometry charts are images from the brand. Do we really have to retype them?
For the models you stock, yes. There is no reading of a picture that turns it into an answer about a rider's height. You do not need the whole catalogue: the frames on your floor and the ranges you order in cover almost every conversation that ends in a sale.
Should it say anything at all about a noise or a crack?
One thing. That it cannot judge it, that the bike should not be ridden until somebody has looked at it, and how to reach the workshop. Then it takes a name, an email and a message, and that arrives with you. Anything more specific is advice given in the shop's name about a safety part, on the strength of a typed sentence.

Keep reading

Try it on your own material

Upload a document or point it at your site, paste one line of HTML, then ask it something only your business could answer.