WooCommerce and bike shop
A bike shop on WooCommerce, where the sizes and the workshop are both invisible
Four questions carry a bike shop: what size am I, how long is the wait, does this fit, and is it covered. The store holds none of them in a readable form. Sizes are attached to a product as variation data, the workshop wait is not stored anywhere at all, and compatibility is a set of standards nobody has written down. The install is the easy half.
Why this pairing is its own job
The WooCommerce 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.
- Frame size is a variation attribute. The options and the price per option are attached to the product as data the page uses to build a selector, so what a reader of pages gets is a description and a from-price, not a list of sizes with heights beside them.
- The workshop is a queue with its own price list, and it is usually sold as a handful of products because that is the container the store offers. A service menu built out of product pages has no relationship to the bikes, no place to put what each tier includes, and no field for how far out you are booking.
- Turnaround is the fastest moving number in the shop and the store has nowhere to keep it, so it exists only in whatever somebody last said on the phone.
- The hook prints the launcher on the cart and the checkout unless you exclude them, and on a bike shop that is somebody buying a frame size they have not been fitted for, at the exact moment a wrong answer becomes a return, a refit and a lost afternoon.
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 WooCommerce guide. Everything below is about where it goes on a bike shop site specifically.
Write the geometry into the page, not only into the variations
A size table in the product description, or on one sizing page linked from every bike, is text. Rider height ranges per size, and the reach and stack figures where you have them, are then readable and quotable with a citation back to the page you wrote.
Say in the same paragraph that geometry differs between models, so a rider is not one size across the range. That sentence prevents more returns than the table does, and it is the sentence the trade page says a shop should be leading with.
Leave the variation selector exactly as it is. This is an addition for the reader and for anything reading pages, not a change to how the store sells.
Give the workshop a page even though it is sold as products
The service products can stay as they are for taking money. What is missing is a page that says what a basic service covers, what a full service covers, what is extra, where parts sit on top of labour, and what a suspension or electric bike service involves.
Put this week's turnaround on that page as one sentence, and edit it. It is the most asked and most perishable fact in the shop, and there is no field anywhere in the store that will hold it for you.
That page is also the one that most justifies the widget being on the site at all, because the person asking how long the wait is at ten at night is not going to ring in the morning.
Keep it off the cart and the checkout, keep it on the sizing pages
The exclusion is one condition in the snippet. The reason it matters here rather than generally is that a bike checkout is the last moment before somebody commits to a size, and a launcher there invites a sizing question the assistant is specifically not allowed to conclude.
Keep it firmly on the product, sizing, service and warranty pages, which is where the same question can be answered properly with the chart, the caveat and an offer of a fit.
Where the answerable material lives
| Size charts as a table in the page | Rider height ranges per size per model, with reach and stack where you publish them, written into a page rather than left as variation options on the product. |
|---|---|
| The service menu with what each tier includes | Basic against full, what is extra, where parts sit on top of labour, and what an electric or suspension service adds. Customers compare shops on this and most shops publish only a headline price. |
| This week's workshop turnaround | One sentence on the workshop page, edited weekly, plus whether you take drop-ins for small jobs and how the wait changes in spring. Nothing in the store holds this. |
| Warranty split between frame and components | Frame cover, which is often long and sometimes limited to the original owner, against component cover, which comes from the component maker on a different clock. Merging them promises a decade on a rear derailleur. |
The first thing to get right
Publish this week's workshop turnaround as a sentence on the workshop page, and put a date on it.
It is the most asked question in the shop, it changes every week, and there is no field in the store that could ever hold it, so it can only be answered from something somebody wrote. It is also the question most likely to be typed outside opening hours, which is the traffic the widget exists for.
The failure that belongs to this combination
The from-price is the number that gets quoted
A bike sold in five sizes with different specifications shows a price starting at the cheapest variation. That figure is the one in the page, so it is the one that can be read, and it is the one that comes back in an answer.
The customer arrives having been told the number they saw, wanting the size and build that costs more. Nobody lied and nothing malfunctioned: the page said from, and the answer did not carry the word because the sentence it was drawn from was a price rather than a range.
Where prices differ meaningfully between variations, write the range into the description in words, with both ends of it. Anything you want quoted accurately has to exist as a sentence, not as a selector.
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
- Can it tell somebody what size frame they need?
- It can quote your chart for their height and say plainly that height alone gets a rider into the right region and no further, then offer the fit. A definite size from a height is the answer the trade page rules out, and it is the one that comes back as a return.
- Will it know whether a part fits a customer's bike?
- It can state the standards a part uses, from your compatibility reference. It cannot know what the customer's bike actually has, because that depends on the model year and on what a previous owner changed. The right ending is somebody checking the bike.
- Can it book a workshop slot?
- No. It does not write into the diary. It answers what comes before the booking, what each service includes, what it costs and how far out you are, and then takes a name, an email and a message that arrives with you as an enquiry.
Keep reading
- Installing on WooCommerceHook the script into wp_footer so it survives theme updates, keep it out of the parent theme, and stop a caching plugin from mangling it.
- Everything for a bike shopFrame sizing, service turnaround and whether a part fits are the daily questions. Safety critical repair advice is an escalation.
- Ten years of seasonal advice, all of it still liveTen years of dated advice posts are still live, the consent banner holds the script back, and April ends up answering a November question.
- Lead times, spec sheets and the form that replaced the checkoutLead times hide in a custom field, spec sheets are PDFs in your uploads folder, and the checkout is often an enquiry form instead.
- Selling bikes on one origin and booking the workshop on anotherThe bikes sell on Shopify and the workshop books somewhere else. Two origins, a geometry chart that is an image, and frame sizes as options.
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.