Skip to content
The Visibility Bureau
Menu

Web Development

E-commerce development built to sell

An online store earns its keep at two moments: the product page and the checkout. We build stores where products load fast, answers to buyer questions are on the page, and checkout has as little friction as the platform allows.

Who it is for: Retailers launching a first store, or store owners whose traffic is fine but whose carts keep getting abandoned.

What is included

Everything in this service

  • Store build on Shopify or WooCommerce
  • Product page templates designed for buying decisions
  • Checkout review and friction removal
  • Payment, shipping and tax configuration
  • E-commerce tracking: every funnel step measured
  • Product schema, so listings can show rich results
Outcomes

What to expect

  • A store that turns more visits into orders
  • Cart abandonment you can see, measure and reduce
  • Products your team manages without developer help
In detail

How e-commerce development actually works

Catalogue and variant modelling: get this wrong once, pay forever

How you structure products, variants and collections is decided in the first week and affects everything afterwards: what customers can filter by, what your URLs look like, what search engines index, what your stock system can talk to, and how much manual work every new product creates.

The core decision is what counts as a separate product and what counts as a variant of one. A shirt in five sizes and three colours is usually one product with fifteen variants, because a customer thinks of it as one shirt. But if the colours are photographed differently, described differently and searched for separately, separate products may serve customers and search better. There is no universal answer, and the cost of changing your mind later is high, because URLs, stock records and reviews are all attached to the original structure.

Get the attributes right at the same time. Attributes are the properties customers filter by: size, colour, material, capacity, compatibility. They need to be structured fields with consistent values, not free text buried in a description. If one product says Navy and another says navy blue, filtering breaks and neither the customer nor your merchandising can rely on it. Set the vocabulary before loading the catalogue, because cleaning it afterwards on a few thousand products is a genuinely painful job.

  • Decide the product versus variant rule before loading anything
  • Make filterable properties structured fields with a fixed vocabulary
  • Keep URLs stable, they carry rankings, links and reviews
  • Plan how faceted navigation is indexed before it generates thousands of pages
  • Model bundles, subscriptions and made-to-order items early if you sell them

Checkout friction: the small things that lose completed orders

Checkout is where the money is decided and where most stores lose it. The causes are consistent across retailers and mostly fixable, which is why it deserves attention before anything cosmetic.

Surprise costs are the biggest. A shipping charge revealed at the final step, after the customer has entered their details, feels like a change of terms. Showing shipping and any taxes early, or on the product page, removes the surprise even when the total is the same. Forced account creation is the next. Guest checkout should be the default path, with the option to save details offered after the order is placed, when the customer has a reason to want it. Then there is length. Every step and every optional field is another chance to stop, and fields that serve internal curiosity rather than fulfilment should be removed.

The mechanics matter too. Address lookup instead of manual entry. Correct keyboard types on mobile. Card fields that format as you type. Errors shown inline and never wiping what was entered. Recognisable payment options, since a customer who cannot pay the way they normally pay often does not switch method, they leave. And speed, because a checkout that stalls after the payment button is pressed produces both abandoned orders and duplicate ones.

  • Show shipping cost and tax before the final step
  • Offer guest checkout, invite account creation after purchase
  • Remove any field that fulfilment does not need
  • Use address lookup and correct mobile keyboard types
  • Show progress and never clear a form when validation fails

Payments, tax and the realities nobody scopes for

Payments and tax are the parts of an e-commerce build that look like configuration and turn out to be a project. They deserve their own conversation before the design is signed off.

On payments, the practical issues are the range of methods your customers expect, the fees attached to each, how refunds and partial refunds work, how failed payments are retried for subscriptions, and how disputes reach you. Card authentication requirements add steps in some regions and can silently reduce completion if implemented poorly. Selling across borders raises currency display, settlement currency and cross-border fees, which affect margin rather than just presentation.

On tax, rules differ by country and sometimes within a country, they depend on what you sell and where the customer is, and thresholds exist that change your obligations once sales in a region pass a certain level. Platforms and tax services automate much of the calculation, but the configuration has to reflect your actual situation, and that is a question for your accountant rather than your developer. We build to whatever ruling you are given and make sure the store applies it consistently, including on refunds, discounts and shipping, which is where inconsistencies usually appear.

  • Confirm which payment methods your customers actually expect
  • Plan refunds, partial refunds and failed payment retries up front
  • Check how card authentication steps affect completion in your markets
  • Take tax rules from a qualified adviser, then implement them exactly
  • Test tax and discount interactions, that is where errors hide

Inventory sync and the systems behind the store

A store is rarely alone. There is often a warehouse system, an accounting package, a point of sale, a marketplace listing, and a supplier feed. Keeping stock accurate across all of them is one of the least glamorous and most consequential parts of an e-commerce build.

The failure everyone has experienced as a customer is overselling: an order accepted for something that is not there. It usually comes from delay. If stock updates every hour, an item can sell out in the shop, on a marketplace and on the website within the same hour. Deciding which system is authoritative for stock, and how quickly the others learn about a change, is the whole problem in one sentence.

Set the direction of truth explicitly for each type of data. Stock levels might flow from the warehouse system outward. Prices might flow from the store outward. Customer records might live in one place and be referenced elsewhere. Then handle failure, because integrations do fail. A sync that stops quietly is worse than one that stops loudly, so alerting on a failed or stalled sync is not optional. Add a safety buffer on low-stock items where overselling is costly, and keep a manual override for the days when something upstream is broken and orders still need to go out.

  • Name the authoritative system for each type of data
  • Set sync frequency against how fast items actually sell out
  • Alert loudly when a sync fails, silent failures cause the worst damage
  • Use a stock buffer where overselling is expensive to resolve
  • Keep a manual override path for when an integration is down

Performance when the catalogue gets large

A store with fifty products and a store with fifty thousand have different performance problems. The second one is slow for reasons the first never encounters, and the fixes are structural rather than cosmetic.

Product pages carry many images, and images are usually the dominant weight. Serving correctly sized files in modern formats, loading only what is visible at first, and reserving space so the layout does not jump handles most of it. Collection and category pages add their own load, since a page showing sixty products is making sixty image requests plus whatever the filtering interface costs. Pagination or progressive loading keeps that manageable.

The deeper issues are in the data. Filtering across many attributes is a database problem, and a query that is instant on a small catalogue can take seconds on a large one. Search has the same shape. Caching helps enormously for pages that do not change per visitor, but anything personalised, a cart indicator or a customer name for instance, has to be handled separately so it does not defeat the cache for everyone. And app or plugin count matters more here than on a typical site: many store extensions inject scripts on every page, and a store carrying twenty of them is usually slow no matter what else is optimised.

  • Right-sized images in modern formats, with space reserved to stop layout shift
  • Paginate or progressively load long collection pages
  • Index the fields that filtering and search actually query
  • Cache pages that are the same for everyone, isolate the personalised parts
  • Audit installed apps and extensions, each one usually costs load time

After the purchase: where repeat revenue is won or lost

Most store optimisation effort stops at the order confirmation, which is the point where the relationship actually begins. The period after purchase decides whether someone buys again, how many support messages you handle, and how many refunds you process.

Order and delivery communication is the largest single factor. Customers want to know the order was received, when it will ship, when it shipped, and where it is. Where those messages are absent, people contact support, and support volume tracks communication quality closely. Keeping the customer on your own tracking page rather than sending them elsewhere also keeps the experience yours.

Then there is the follow-up. A short sequence after delivery can ask for a review, explain how to get the most out of the product, and offer help before someone concludes the item is wrong for them. Returns deserve the same care as checkout, because a difficult return does not just cost the order, it decides whether the customer ever risks buying again. And abandoned cart recovery works, though it works better when it is genuinely useful, addressing an unanswered question or confirming stock, rather than repeating a discount every time and teaching customers to abandon on purpose.

  • Confirm the order immediately and communicate at each shipping stage
  • Host tracking on your own site rather than handing the customer off
  • Make returns simple, they decide whether someone buys a second time
  • Ask for reviews after delivery, when the experience is fresh
  • Recover carts with useful information, not an automatic discount every time
How we work

A clear path, step by step

  1. 01

    Plan the catalogue

    Products, variants, collections and shipping rules mapped before the build starts.

  2. 02

    Build the store

    Fast templates, clear product pages and a checkout configured for fewer drop-offs.

  3. 03

    Wire up measurement

    Funnel tracking from product view to purchase, so leaks are visible from day one.

  4. 04

    Launch and optimise

    Go live, watch the funnel, fix the biggest leak first, repeat.

Why The Visibility Bureau

Why choose us for this

We optimise for the checkout, not just the homepage

Funnel tracking included, not sold separately later

Honest platform advice before you commit

Questions

Common questions

Shopify or WooCommerce?

Shopify for most stores: hosted, secure, and the checkout is excellent out of the box. WooCommerce when you need deep customisation or already run on WordPress. Transaction fees, apps and hosting change the maths, so we cost both for your case.

Why do people abandon carts on my store?

The usual causes are surprise shipping costs, forced account creation, slow pages and too many checkout steps. Your tracking will show which. Fixing the top one or two usually recovers meaningful revenue.

Related services

Explore related work

Want this for your business?

Book a free visibility call and I will tell you honestly whether I can help.

How this is delivered

One person leads every project. Where a job genuinely needs a specialist, I bring in people I have worked with before and manage them, so you get one point of contact and one invoice rather than three suppliers blaming each other.

  • You talk to the person responsible for the work, not an account manager
  • Specialists are briefed and managed by me, and their work is checked before it reaches you
  • One contract, one invoice, one place to chase