seo
Nik Paprocki2026-05-2214 min readWrite an RFP that attracts Canadian web agencies who partner with your internal team. PIPEDA, WCAG 2.1 AA, budget, scoring rubric.
Most web development RFPs are written to find the cheapest capable vendor. That's the wrong objective if you have an internal team. When designers, developers, and marketers already sit on your payroll, you aren't shopping for a contractor — you're extending your culture. The agency you pick will sit in your standups, push to your repos, and ship work that your customers can't tell wasn't built in-house.
The document you send out is the first test of whether that's possible. A sharp RFP attracts agencies that ask sharp questions. A vague one attracts whoever needs the work. This guide walks you through writing the first kind — section by section — with the Canadian-specific details (PIPEDA, WCAG 2.1 AA, bilingual deliverables, CAD milestone payments) that generic templates miss.
A Request for Proposal asks agencies to describe how they would solve your problem, what it would cost, and why their team is right for the work. It is not the same as a Request for Quote (RFQ), which assumes the specification is already locked and only price is in question. Web development almost never fits that model — discovery shifts scope, integrations reveal hidden complexity, and a fixed-price quote written before research is a fiction both sides eventually have to renegotiate.
This distinction matters because research by The Standish Group on software project failures found that only 16.2% of projects were completed successfully, and the top factors for failure are incomplete requirements, lack of user involvement, and changing requirements. The RFP is your earliest, cheapest chance to prevent that outcome. A later edition of the CHAOS research busted the myth that successful projects require a highly skilled project manager — concluding instead that incomplete requirements cause challenged and failed projects. The document you send out is, functionally, the requirements scaffolding for the entire engagement.
A vendor RFP filters for capability and price. A partner RFP filters for capability, price, and the ability to operate inside someone else's team. Those are different agencies.
When your internal developers will own the codebase post-launch, you need an agency that documents as it builds. When your marketing manager will inherit the CMS, you need one that trains rather than gatekeeps. When your product lead wants to push back on a design decision, you need an agency that argues well and disagrees in writing.
None of that shows up in a portfolio. It shows up in how an agency responds to a well-structured RFP — and whether they ask the questions a real collaborator would ask before submitting a number.
Three paragraphs. Who you are, what you sell, who your customers are, and why this project exists now. Skip the boilerplate "founded in" history. An agency reading your RFP wants to know what changed — new product line, M&A integration, accessibility audit findings, a competitor that lapped you on mobile performance.
Weak version: "We are a leading provider of logistics services in the Ottawa region." Strong version: "We're replatforming because our current Drupal 7 site goes end-of-life in March and our internal team can't carry both the migration and our Q2 roadmap."
The second version tells an agency more in one sentence than most RFPs convey in five pages.
Write this as outcomes, not features. "Reduce time-to-quote from seven days to under one" is a brief an agency can solve creatively. "Build a quote calculator with twelve input fields" is a spec that locks you into the first idea anyone had in a meeting.
Include in-scope work, explicitly out-of-scope work, and any work your internal team will own. The third category is the one most RFPs miss. If your in-house developer is building the auth layer, say so. If your content team is writing copy, say so. Agencies need to know where the seams are.
This is where most RFPs either over-specify (locking in a CMS before discovery proves it's the right one) or under-specify (handing the agency a blank canvas and then arguing about the result). Aim for the middle: hard constraints, soft preferences, open questions.
Hard constraints might include hosting in Canadian data centres, SSO via your existing identity provider, or integration with a specific ERP. Soft preferences cover CMS, framework, or design system. Open questions invite the agency to recommend — "We use Salesforce for CRM but are open to recommendations on the marketing automation layer."
Accessibility belongs here. In alignment with the Harmonised European Standard, EN 301 549, Canadian departments, agencies and organizations are strongly encouraged to follow the latest version of the Web Content Accessibility Guidelines (WCAG) 2.1 AA. Even if you aren't a federal entity, WCAG 2.1 AA is the working benchmark Canadian enterprises and procurement teams now expect. Under the Accessible Canada Act, organizations that fail to comply with the act could face a fine of up to $250,000 — which makes accessibility a procurement-level decision, not a design polish item.
State the standard in the RFP. Ask the agency to describe how they test for it, who on their team owns it, and which of their recent launches passed an independent audit. If you need professional web design services that build to WCAG 2.1 AA by default rather than as a retrofit, ask the question that surfaces it: "Walk us through your accessibility QA process from wireframe to launch."
Reference brand guidelines if they exist. If they don't, say so — and decide before issuing the RFP whether branding work is in or out of scope. Mid-project branding pivots are the single most expensive line item in a redesign budget.
Include examples of sites you admire (and why), sites you don't (and why), and any design system or component library you already use. The "why" is the part that matters. "We like Stripe's site" tells the agency nothing. "We like how Stripe pairs dense technical content with visual hierarchy that doesn't drown in it" tells them what to design toward.
Two timelines, actually. The RFP process timeline (issue date, Q&A deadline, response deadline, shortlist decisions, finalist presentations, award date) and the project timeline (target kickoff, key milestones, hard launch dates and why they're hard).
Rushing the RFP process is a false economy. A two-week response window on a six-month build produces proposals written by junior staff with no input from the senior people you actually want on the work.
Include it. This is the single most contested point in RFP-writing advice, and the answer is unambiguous: include a range.
Withholding budget doesn't get you better pricing. It gets you proposals scoped to whatever each agency guesses you can afford, which makes apples-to-apples comparison impossible. It also signals to good agencies that you haven't done the internal work to get budget approved, which is the strongest predictor of a project that stalls at contract.
A range — "$80,000 to $120,000 CAD for the initial build, with separate budgets for ongoing support" — invites agencies to propose at the right altitude. The ones who can't deliver in that range will self-select out. The ones who can will spend their proposal time on how rather than guessing how much.
Define what "done" means before anyone bids. Conversion lift? Page speed targets (Largest Contentful Paint under 2.5 seconds)? Reduction in support tickets? Bilingual launch parity?
State the post-launch support model too. Are you buying a fixed warranty period? A retainer? A handover to your internal team after thirty days? Agencies price very differently depending on the answer.
This is the section generic templates skip. It's also the section that separates serious Canadian buyers from those copying an American RFP and changing "dollar" to "CAD."
If your site collects, processes, or stores personal information — and almost every site does — the agency you hire becomes a third-party processor under PIPEDA. The accountability does not transfer with the data. PIPEDA requires that you ensure through contractual or other means that the third party provides a level of protection of the personal information comparable to that required in PIPEDA, limit the third party's use of the personal information to the purposes specified to fulfill the contract, and be transparent about your practices.
Practically, this means your RFP should ask:
PIPEDA's accountability principle provides that an organization remains responsible for the personal information it has transferred to a third party for processing, and the principal organization will need to ensure there are sufficient contractual arrangements in place with the processor to address compliance with the breach provisions set out in PIPEDA. Build the questions into the RFP so the answers are on record before contracting begins.
If you operate federally, in Quebec, or serve a francophone customer base, bilingual delivery is not an add-on — it's a scope item. Ask the RFP question explicitly: does the agency build with an i18n architecture from day one, or bolt French translation onto an English-first site at the end? The two approaches produce very different long-term maintenance costs, especially as Quebec's Law 25 reshapes how French-language digital content must be served to Quebec residents.
Canadian agencies, in our experience, price in CAD and structure payments around milestones rather than hourly drawdowns. State your preferred payment structure in the RFP. A typical structure for a six-figure build looks like 25% at kickoff, 25% at design approval, 25% at development complete, 15% at UAT signoff, and 10% at post-launch. Variations exist, but a structure of some kind belongs in the RFP — not negotiated after the agency has already committed engineers.
Ottawa to Vancouver is three time zones. Ottawa to Halifax is one in the other direction. If your team works core hours in Eastern Time and the agency works in Pacific, your daily collaboration window is roughly three hours. That's workable; it just needs to be acknowledged in the RFP. Ask where the working team will physically sit, not just where the head office is registered.
These are the questions no generic template includes. They surface how an agency actually collaborates — which is what you're really hiring.
| Section | Weak | Strong |
|---|---|---|
| Scope | "Redesign our website to be modern and user-friendly." | "Replatform our 240-page Drupal 7 marketing site to a headless CMS by July 1, with WCAG 2.1 AA conformance and bilingual EN/FR parity at launch." |
| Budget | "Please provide your best price." | "Budget range: $90,000–$140,000 CAD for the initial build. Ongoing support priced separately." |
| Timeline | "ASAP." | "Kickoff May 5, design approval July 1, dev complete September 15, UAT September 30, launch October 14. Launch date is driven by trade show on October 20." |
| Team | "Tell us about your agency." | "Identify the specific people who will work on this engagement, their roles, and the percentage of their time allocated through launch." |
Decide your scoring rubric before responses arrive. Otherwise the loudest voice in the room scores everyone on whatever they happened to notice.
A workable starting weighting:
| Criterion | Weight | What to Look For |
|---|---|---|
| Strategic understanding | 25% | Did they reframe your problem or just restate it? |
| Relevant experience | 20% | Comparable scope, sector, and integration complexity — with metrics, not just logos |
| Team fit | 20% | Specific named people, allocation transparency, communication cadence |
| Technical approach | 15% | CMS rationale, accessibility process, performance benchmarks |
| Process and collaboration | 10% | How they integrate with internal teams |
| Price | 10% | Value within your stated range, not absolute low |
Invite three to five agencies to respond. More than that wastes everyone's time and signals you're treating the process as a fishing expedition. Fewer than three eliminates meaningful comparison.
Asking for a full fixed-price quote on a complex web build before any discovery has happened is a request for fiction. The agency either pads the number to absorb unknowns (you overpay) or lowballs it and recoups via change orders (you overpay later, with more friction).
Structure the RFP to invite a two-phase proposal: a fixed-price discovery phase (typically two to four weeks, $10,000–$25,000 CAD) producing a documented scope, then a fixed-price build phase quoted after discovery. Agencies that resist this structure are usually the ones who don't run real discovery — which is the problem you were trying to solve in the first place.
A workable cadence for a mid-size web build:
Rushing this to four weeks costs you on the back end. Stretching it past ten weeks loses the best agencies, who will book up before you decide.
A well-written RFP is itself a recruiting document. It tells the agencies you actually want — organized, strategic, partnership-minded — that you're worth their best people and their best thinking. It tells the agencies you don't want that you'll ask harder questions than they're prepared to answer.
If you're ready to put yours in front of a team that has built websites, products, and brands for Canadian organizations since 2010, share your project requirements with us. We'll read every page, ask the clarifying questions that matter, and respond with a proposal that treats your internal team as the partner — not the audience.
Long enough to communicate context, short enough that senior people at the agency will actually read it. For most mid-market projects, eight to fifteen pages is the right range. If you can't say what you need in fifteen pages, the problem is clarity, not length.
Yes. A range, not an exact number. Withholding budget produces wildly variable proposals that can't be compared and signals that you haven't done the internal alignment work. Good agencies treat budget transparency as a sign of a serious buyer.
Three to five. Fewer eliminates comparison; more dilutes attention. Every additional bidder past five is a signal to the field that you're not seriously considering any of them.
No. Even small differences in scope, integrations, or success criteria materially change how an agency proposes. A reused RFP gets reused proposals.
Get an AI-powered summary and save this article as a reference for future conversations.