A freight enquiry that arrives as “please send me a quote” is worth a fraction of one that arrives with an origin, a destination, a weight and a ready date attached. The difference is a form. Choosing a logistics theme with quote calculator support — or bolting a calculator onto the theme you already run — is the single highest-leverage change most freight websites can make, because it converts an anonymous browser into a qualified lane-level enquiry before anyone on your team has touched it.

This guide covers what the module has to capture to be useful to a freight desk, whether to get it from a plugin or from the theme, how to build one in Moovit, how to route the results, and the mistakes that make quote forms actively harmful.

Why instant quotes win freight leads

Shippers comparing forwarders are not loyal at the enquiry stage. They run the same request past three or four providers in an afternoon, and whoever responds first with a number frames the negotiation. Every hour your quote sits in a queue, a competitor is anchoring the price.

An instant quote form does three things a plain contact form cannot:

  • It qualifies before it routes. A request with no commodity, no weight and no incoterm is not a lead, it is a research task. A structured form moves that work to the enquirer, who already has the details in front of them.
  • It sets the expectation of speed. Even where the final rate needs a human, an indicative range returned on the page tells the shipper you are a business that quotes fast. That is a competitive signal in its own right.
  • It gives you data you can actually read. Six months of structured submissions tell you which lanes you are asked for and which service pages pull enquiries. Six months of free-text emails tell you nothing you can sort.

One trade-off to be honest about: freight pricing moves with fuel, capacity, accessorials and season, so a binding instant rate is only realistic for standardised products — parcel, LTL within a known network, domestic moves on a fixed tariff. For international full-container or project cargo the right design is a structured request returning “we will come back within two hours”, not a fabricated number. Both are built the same way; only the last step differs.

What a quote form must capture (lanes, weight, incoterms)

The commonest failure of a wordpress freight quote calculator is that it was designed by someone who has never priced a shipment. It asks for name, email and “message”, and the operations team ends up emailing every enquirer back to ask the same four questions. Here is what a freight desk actually needs before it can price anything.

Field groupWhat to askWhy it matters
LaneOrigin and destination — postcode or city for road, port or airport code for sea and airNothing can be priced without a lane. Free-text city names create ambiguity; a postcode or UN/LOCODE does not.
Mode & serviceRoad / sea / air / rail, and express vs standardChanges the rate base entirely and routes the enquiry to the right desk.
CargoGross weight, dimensions or volume, number of pieces, packaging typeChargeable weight is the greater of actual and volumetric. Without dimensions you cannot compute it.
CommodityWhat it is, plus hazardous and temperature-controlled flagsDangerous goods and reefer change price, paperwork and whether you can take it at all.
IncotermsEXW, FCA, FOB, CIF, DAP, DDP…Decides which legs and charges are yours. An enquiry without an incoterm is a quote you will have to redo.
TimingReady date and any required delivery dateCapacity and price are seasonal. A ready date also tells you whether this is real or speculative.
ExtrasInsurance, customs clearance, tail-lift, inside delivery, residentialAccessorials are where margin leaks. Ask up front or absorb them later.

Two design rules make this survivable for the person filling it in. First, progressive disclosure: show mode and lane immediately, and only reveal customs and incoterm fields once the enquirer has chosen an international mode. A domestic courier request should never see the word “incoterm”. Second, sensible defaults — default the ready date to today, default packaging to pallets, default the currency to yours. Every pre-filled field is one fewer reason to abandon.

Link the field help to the ICC’s own Incoterms reference rather than writing your own summary — shippers trust the source, and you stay out of maintaining a definitions page.

Plugin vs a logistics theme with quote calculator built in

Two routes to a shipping quote form wordpress setup, and the right one depends on whether you need arithmetic or structure.

The plugin route

A calculator plugin — a conditional-logic form builder, or a dedicated shipping-rate calculator — gives you live arithmetic: rate tables, distance lookups, per-kilo bands, surcharges, and a number rendered on the page. That is the right call when you sell a standardised product with a published tariff you are willing to commit to.

The costs are real. You own another licence and update path, the styling rarely matches your theme without CSS work, and your rate logic now lives in a plugin’s admin screens rather than anywhere your pricing team can review it.

The theme route

A theme that ships quote request handling gives you the structure — form, service-page placement, styling, confirmation — without the arithmetic. You capture a qualified request; a human returns the rate.

For most forwarders and 3PLs this is the honest fit, because their pricing is not a formula. It is also less to maintain: the form is part of the theme, inherits your typography and colours, and sits on every service page by design rather than by someone remembering a shortcode.

Calculator pluginTheme-shipped quote request
Returns a price on the pageYesNo — returns a confirmation
Best forParcel, LTL, domestic moving, fixed tariffsForwarding, project cargo, 3PL, anything negotiated
MaintenanceRate tables need owningForm fields only
StylingUsually needs CSS workInherits the theme
Extra licenceYesNo

These are not exclusive. The pattern that works best on an instant quote logistics website is a theme-native request form on every service page for the negotiated work, plus one calculator plugin on a single dedicated page for the one standardised product you are happy to publish a price for.

Building the quote module in Moovit, step by step

Moovit, our WordPress theme for logistics, transport and cargo companies ships quote request forms and service enquiry management as part of the theme, alongside Contact Form 7 for the form handling itself. The steps below assume a fresh Moovit install with one of its eight logistics homepages imported.

  1. Start from a service page, not a contact page. Moovit ships service offering pages categorised across freight, shipping, moving and storage. Open the one closest to the product you want quoted — a form there converts better than one buried on /contact/, because the reader is already reading about the thing they want priced.
  2. Build the field set in Contact Form 7. Create a new form and lay out the groups from the table above. Use the CF7 field types deliberately: select for mode and incoterm so the values stay clean, number with a min for weight and pieces, date for the ready date, and checkbox for the accessorials. Mark lane, mode, weight and ready date as required; leave everything else optional so the form is still completable in under a minute.
  3. Split international fields into their own group. Keep incoterms, customs clearance and HS code in a block that only matters for sea and air. With a CF7 conditional-fields add-on, hide it behind the mode selector; without one, a labelled “International shipments only” sub-heading does most of the same work.
  4. Place the form with the builder you already use. Moovit supports three build methods — its bundled Aheto drag-and-drop builder, Elementor, and the native Gutenberg block editor — so drop the CF7 shortcode into whichever one your team works in. Put it in the right-hand column or directly beneath the service description, above the fold on mobile.
  5. Repeat it across the service set. Add the same form to every service page rather than linking off to one quote page — each extra hop costs submissions.
  6. Add a service-area check next to it. Moovit includes a locations and service areas page with Google Maps; linking to it beside the form heads off enquiries you cannot fulfil.
  7. Give the confirmation a real promise. Replace the default “Thank you for your message” with the actual commitment — “We quote within two working hours, 08:00–18:00 CET” — and repeat it in the autoresponder email.

One practical note on setup: Moovit’s one-click demo import brings in the homepage and page templates, but form notification addresses, SMTP and the reply-to are environment-specific and are not imported. Budget a session for the email plumbing rather than assuming the import finishes the job.

Routing quotes to your sales inbox

A quote form that lands in a shared mailbox nobody owns is worse than no form at all, because the shipper now believes they have asked you and you have ignored them. Four things fix the majority of that.

Send the mail from your own domain

By default WordPress sends via PHP mail, which is routinely filtered or dropped. Configure an SMTP plugin against a domain you control and authenticate it with SPF, DKIM and DMARC — this is the commonest reason a working form appears to produce no enquiries.

Route by mode, not to one address

Use the mode field to pick the recipient — air to the air desk, road to the road desk. In Contact Form 7 that is a pipe-separated select whose values are the destination addresses, referenced in the To field of the mail template. The enquiry then lands where it can be actioned rather than being forwarded twice.

Put the lane in the subject line

A subject of “New enquiry from the website” tells a desk nothing. Quote: Rotterdam → Chicago, 2 pallets, 640kg, ready 14 Mar can be triaged from the notification preview. Build it from the form tags.

Keep a copy outside email

Store every submission in the database with a forms plugin that keeps entries, or post it into your CRM. Email is a notification channel, not a record. Without stored entries you cannot answer “how many quotes did we get last quarter, and what did we win?”

Finally, acknowledge automatically. An autoresponder that repeats the submitted details and states the response window costs nothing, and stops the enquirer touting the same request to two more forwarders while they wait.

Common mistakes

  • Asking for contact details first. Name and phone at the top of a quote form read as a gate. Put the shipment questions first and the contact fields last, once the enquirer has invested effort.
  • Publishing a binding rate you cannot hold. If fuel or capacity can move the number, label it clearly as indicative and give it a validity window. A quoted rate you then walk back costs more trust than a two-hour wait ever would.
  • One giant form for every mode. A domestic courier enquirer faced with customs and incoterm fields abandons. Split by mode, or reveal conditionally.
  • No mobile testing. Date pickers and multi-column layouts are where freight forms break on a phone. Submit a real enquiry from a handset before you launch, not after.
  • Forgetting the data rules. A quote form collects business contact data and often personal data. Add a purpose statement and a privacy-policy link next to the submit button, and set a retention period for stored entries.
  • Never reading the submissions. Lanes you are repeatedly asked for and cannot serve are a network gap; pages that produce nothing are telling you something too.

Where to start

If you are building new, start from a theme that already has the service pages, enquiry handling and service-area mapping in place, and spend your time on the field set rather than the layout — that is what Moovit, our WordPress theme for logistics, transport and cargo companies is for. Retrofitting an existing site, do the field set and the routing first; leave styling until enquiries land in the right place.

Next in this series: WordPress shipment tracking — building a live track-and-trace page, which covers the other half of the self-service freight website. You can also browse the full set of business and logistics WordPress themes in our catalogue.