- Home
- Case studies
- North American mid-market forwarder
A North American mid-market forwarder won six RFPs in a row after losing three for missing a carbon line
In 2024 the customer lost three out of four RFPs that explicitly required per-shipment carbon on quote responses. The fourth they retained the incumbent relationship and squeaked through. We worked with their quote-engine team to attach EcoFreight emissions to every spot quote inside the existing 24-hour SLA. They won the next six RFPs that asked for the carbon line. Quote conversion lifted 12% on quotes that carried it. ROI is hard to attribute cleanly because the carbon line landed alongside a wider quote-engine rebuild.
Headline numbers
- 2024 RFPs requiring per-shipment carbon: 4 entered, 1 won, 3 lost.
- 2025 H2 - 2026 H1 RFPs requiring per-shipment carbon: 6 entered, 6 won.
- Quote conversion lift on quotes carrying the carbon line: +12% versus quotes without.
- 24-hour quote SLA: held throughout; carbon line added zero queue time.
- Per-quote API latency: 41 ms p50 from the customer's quote engine to our NA edge.
What they had before
The customer is a North American mid-market freight forwarder running approximately $140 million of annual revenue across roughly 800 shipments per week. Their flow is mostly trans-Pacific ocean — Shanghai, Ningbo, and Busan into Los Angeles and Long Beach — plus a significant trans-border road book between US Midwest manufacturing and Mexican maquiladoras. They run a homegrown quote engine on top of CargoWise for the operational side.
The trigger was an RFP cycle. In 2024 they entered four RFPs from large CSRD-bound EU shippers and CDP-respondent US importers. All four required per-shipment carbon on quote responses. They won one — the relationship was strong enough to absorb a "we will follow up with carbon numbers in the next cycle" answer. They lost the other three, and in each case the debrief from the procurement counterpart specifically called out the missing carbon line as a tiebreaker against a forwarder that did provide it.
The internal conversation through Q4 2024 was about whether to build versus buy. The customer's engineering lead initially scoped a build — a factor library plus a distance-lookup service plus a GLEC mapping layer — at roughly a quarter of engineering work. The sustainability lead pointed out that the resulting numbers would still need third-party methodology defence in front of CSRD auditors. That was the moment they reached out to us.
What changed
We integrated the EcoFreight API into the customer's quote engine at the point where the quote response is assembled. The shape is the simplest possible: when a spot quote completes the carrier-and-route step, a server-side service calls POST /api/v1/calculate with the GLEC v3.2 factor set, the WTW scope, and the load-factor assumption the customer's lane analytics team agreed on per corridor. The returned co2e_kg and data_quality_tier are attached to the quote response template inside the existing 24-hour SLA.
On the trans-Pacific lanes we configured the request to use the container-ship factor segmented by TEU class, because the customer's carrier panel runs everything from Post-Panamax to ULCV. On the trans-border road book we use the GLEC v3.2 articulated truck above 32-tonne factor with a 72% load factor from the customer's lane analytics, lower than the European 3PL case because cross-border return-leg utilisation in this corridor is genuinely worse.
The integration landed alongside a wider quote-engine rebuild the customer had already scoped for 2025. That co-incidence is important context — and a complication for ROI attribution we will get to. The wider rebuild also introduced a real-time rate sheet for ocean and a much better carrier-of-choice selector. Either of those by itself would plausibly have lifted quote conversion. The carbon line did not land alone.
The customer's procurement-facing template was already mature enough to accept new fields without much template work. The CO2 line appears underneath the freight rate line on every quote PDF, with the methodology footer the customer's sustainability lead drafted with us: "WTW CO2e per shipment, GLEC Framework v3.2, ISO 14083 data quality tier as shown." Two RFP procurement teams flagged that footer in their debriefs as the reason they accepted the number without follow-up questions.
Where the numbers landed
Measured across the first 14 months after go-live
- RFP win rate where per-shipment carbon was required: 6 of 6 (100%) post-go-live versus 1 of 4 (25%) in 2024.
- Quote conversion on quotes that included the carbon line: +12% compared to quotes in the same accounts that did not carry it.
- 24-hour quote SLA: held; mean carbon-line latency 41 ms p50, 127 ms p95, far inside the existing rate-sheet generation budget.
- Error rate on the carbon line: 0.05% over 14 months, almost all of it bad origin codes for two newly-onboarded inland ramps.
- Cost line: EcoFreight API subscription at the volume tier the customer settled on; engineering time was the wider quote-engine sprint not a dedicated build.
The 12% conversion lift comparison is intra-account, not cross-account. We compared quotes inside the same shippers that received a mix of carbon-line and non-carbon-line quotes during the rollout. That removes account selection bias. It does not remove the broader quote-engine rebuild effect, which is the next caveat.
An honest gap
ROI is hard to attribute cleanly because the carbon line landed alongside a wider quote-engine modernisation. Real-time rate sheets and a better carrier-of-choice selector shipped in the same release window. We are comfortable saying the carbon line is what stopped the customer losing carbon-required RFPs — the loss reasons in 2024 were specific. We are not comfortable saying the 12% conversion lift is purely attributable to the carbon line; some fraction of it belongs to faster rates and better carrier matching.
We have asked the customer to run an A/B-style holdout in 2026 H2 — same lanes, same shippers, half the quotes with the carbon line and half without. If we get clean data we will update this page. We did not have the discipline to insist on the holdout pre-launch and that is on us.
"We stopped losing RFPs the day we could show a real CO2 number on every quote line. Whether the 12% conversion lift is half the carbon line or a quarter, I will take it — but I want the holdout test before I take a victory lap."
— Director of Operations, North American mid-market forwarder (anonymised by request)
What we would do differently
Two things, with the benefit of hindsight.
We would have insisted on the A/B holdout. The carbon line landing inside a bigger quote-engine rebuild made the post-hoc attribution argument harder than it had to be. Running half the quotes with the carbon line and half without for a defined window would have settled the question and made the case study cleaner. The customer would probably have agreed at the time; we did not push hard enough.
And we would have flagged load-factor onboarding earlier. The 72% load-factor figure on trans-border road was negotiated between us and the customer's lane analytics team in week two of the integration, after the quote engine was already wired to call our API. That negotiation could have happened in week zero and saved two days of regenerating earlier quote tests. Same lesson as the European 3PL: the load-factor source goes into the first integration sprint.
Named tooling and references
- CargoWise — operational TMS for booking and ASN traffic.
- Customer's homegrown quote engine — server-side integration point.
- GLEC Framework v3.2 — Smart Freight Centre (2023).
- ISO 14083:2023 — data quality tier disclosure on every quote.
- EcoFreight API — see the docs for the request schema and the forwarder integration overview.
Want this kind of integration?
Email sales@ecofreight.co with your quote engine, RFP cadence, and the carbon-line shape your shippers are asking for. We will reply with a scope estimate and — this time — we will push for the A/B holdout.