What comes when
Roadmap
The screen, the shop account and the first measurement are live. Belgium, a badge with the shipment count and a labelled place are on the site. That place does not change the score.
Updated 15 October 2026
On this page
Now: the gate
Search, compare and a shop account are live. A click stores the date on screen. The shop reports when the parcel arrived. The line is 200 shipments, at least 85 percent on or before that date.
Next: two clocks
The shop is scored from payment to dispatch. The carrier is scored from handover to the door, or to the first attempt. The visitor still sees one date.
Real offers
The same product sits together when the EAN matches. A listing without an account can be claimed, except the sample shops. An affiliate link on the outbound click does not change the order.
Belgium and a label
A visitor chooses the Netherlands or Belgium. Antwerp uses different public holidays from Groningen. A labelled place sits on the card and does not move the score.
This is the order we build in. No quarter we will miss anyway. A phase starts when the previous one has cleared its gate, not when the calendar says so.
Now: see if the date holds
The screen works, with a fixed bar, a sidebar, and tabs along the bottom on a narrow screen. You can search by a date, in one sentence, or with filters for postcode, carrier, evening, Sunday and pickup. We put up to four shops side by side. The clock stays Europe/Amsterdam. An offer older than 12 hours drops down the list.
A shop creates an account and reads the same documentation. The shop appears on the site only after approval. Cutoff, same-day and pickup are set by the shop in the account. A welcome email leaves once a mail server is set. Without a mail server the message stays in our outbox.
A click on To the shop stores the date shown and adds wxl to the link. In Measurements you upload a Google Merchant feed. The category follows Google, then a rule from the shop, then the choice at upload. What fits nowhere stays off the site. The shop reports the delivery date. That date on or before the date shown counts as on time.
The hard gate: 200 of those shipments, at least 85 percent on or before the date the visitor saw. Clicks on the sample catalogue stay in the log and do not count. That split is deliberate. A pretty demo must not inflate the measurement.
Next: two clocks
The intake is live in Measurements and on the API. An order we have seen once does not disappear. If a rising order number is missing, or the count does not match, that score pauses. The public ranking does not use these clocks yet while the gate is unmet. After that, the lower of the two percentages counts, not an average and not the shipment CSV.
The next measurement splits the shop and the carrier. The shop clock runs from the moment of payment to the moment of dispatch. If dispatch is missing after the calculated ship day, that order is late. The time of the click is not the order time. Orders without wxl still count, so a shop cannot send only the fast clicks.
The carrier clock runs from handover to the carrier until delivered, or until the first delivery attempt when the customer was not home. The visitor still sees one date: the day on screen. That outcome closes only when both wxl and a delivery time are known. We do not average the two percentages into one figure.
The handover has to be complete: a readout we pull ourselves, or a webhook from the platform, with the count of paid orders in the window. Under Connections the shop sets a public https address. Fetch now reads that address. WebshopXL also fetches a saved address on its own. The webhook is POST /api/orders. The clocks count that window, 90 days by default. An order we have seen once does not disappear in a later export. Where order numbers rise, as on Shopify, a gap must arrive as paid, cancelled or unpaid. Otherwise we pause the measured score. A CSV in Measurements stays for trials of the current gate. Once the two clocks feed the score, that CSV no longer counts toward it.
After that: real offers
Search groups the same product when the EAN matches. A listing without an account can be claimed at signup, except the sample shops. Under Delivery the shop sets an affiliate link on the outbound click. That link does not change the order. The feed in Measurements is the path for one shop's catalogue. There is still no checkout of our own. If you buy, you buy at the shop, with the rights that come with that.
Measuring at scale
The page For webshops, and Connections in the shop account, spell out per platform how the two clocks come in: Shopify, WooCommerce, Lightspeed, Magento and CCV Shop. That is the same API, not a separate app store. A badge shows the measured percentage with the shipment count. The dashboard you see for Vlot stays a sample.
Belgium and a labelled place
A visitor chooses the Netherlands or Belgium. A postcode in Antwerp uses Belgian public holidays and shows only shops that deliver in Belgium. Groningen stays on the Dutch network. bpost is one of the carriers.
A labelled place can sit on the card. It does not move the score. Ranking stays the date plus reliability. If the screen ever says otherwise, the site is wrong and we want to hear it at info@webshopxl.com.
What is not on the list
- Our own basket or a payment service.
- A list where you buy a higher position. A label does not move the order.
- A promise that every Dutch shop joins. A shop that wants off uses the opt-out or sends email.
- A crawler that empties shops before the measurement clears the gate.
More on the people and the measurement: About WebshopXL and How we measure.