If you've ever written two Shopify scopes for seemingly similar projects and ended up with wildly different documents, you've already discovered scope variables — you just didn't have a name for them.
Scope variables are the inputs that determine the shape of a scope document. They're the answers to questions like: is this a migration or a new build? How many markets? Is B2B involved? Are there ERP integrations?
Change one variable and the scope changes with it. A single-market DTC store with 100 products is a fundamentally different scope from a multi-market B2B/DTC hybrid with ERP integration — even if the client describes both as "a Shopify store."
The problem isn't that agencies don't know this. The problem is that most agencies handle these variables implicitly. A senior person holds the mental model of "if X, then the scope needs Y" — and when that person is unavailable, on holiday, or leaves the company, the scoping quality drops.
This page makes those variables explicit. It's a reference for the inputs that drive the vast majority of decisions in a Shopify scope of work — what sections to include, what deliverables to list, what to exclude, and where the hours go.
If you're building a repeatable scoping process, this is where you start.
Who this is for
Agency founders and operators who want scoping to be a system, not a skill held by one or two senior people.
Delivery leads and project managers who need to verify that a scope covers the right areas before it goes to the client.
Salespeople and account managers who run discovery — so they know which inputs the scoping team actually needs, not just what "feels like enough information."
Freelancers building their own scoping frameworks — especially those moving from hourly billing to project-based pricing, where accurate scoping directly affects profitability.
The 15 scope variables
Each variable below controls multiple decisions in your scope document. For each one, we explain what it determines, the common values it takes, and what changes in the scope when the value changes.
Variable 1: Project Type
What it determines: Baseline deliverables, effort assumptions, project phases
Common values:
- New build — Starting from scratch. Full design, full development, full content.
- Redesign — Existing Shopify store, new theme/UX. Partial content migration, existing data stays.
- Migration — Moving from another platform (WooCommerce, Magento, BigCommerce, custom). Adds data migration, SEO redirect mapping, and platform-specific considerations.
- Feature addition — Specific functionality added to an existing store. Narrowest scope.
What changes: Migrations add an entire workstream that new builds don't have: data mapping, redirect plans, SEO preservation, parallel running periods, and go-live cutover planning. A migration scope that's priced like a new build will lose money. A new build priced like a migration will lose the deal.
Variable 2: Catalogue Size & Complexity
What it determines: Data migration effort, template logic, testing scope, collection architecture
Common values:
- Small — Under 100 SKUs, simple variants (size/colour)
- Medium — 100–2,000 SKUs, moderate variant complexity
- Large — 2,000–10,000+ SKUs, complex variants, bundles, or configurable products
What changes: A small catalogue might need one product template. A large catalogue might need 3–4 product templates (simple product, bundle, configurable, digital). Large catalogues also need import/export tooling, automated collection rules, and more extensive QA — you can't manually check 5,000 products.
Gotcha to flag: Shopify's 100-variant limit per product and 3-option limit catches clients migrating from platforms without these constraints. If the client has products with 150+ variants, you need a restructuring plan in the scope.
Variable 3: Number of Unique Templates
What it determines: Design and development hours — directly
Common values:
- Standard (4–6): Homepage, collection, product, page, blog, cart
- Extended (7–12): Above + landing pages, lookbook, about, FAQ, comparison pages
- Custom-heavy (12+): Highly editorial or campaign-driven sites
What changes: Every unique template is a design deliverable (wireframe → mockup → revisions) and a development deliverable (Liquid template, section schema, mobile responsiveness). Going from 6 to 12 templates can double the design and front-end budget.
Variable 4: Markets (Regions, Currencies, Languages)
What it determines: Multi-market configuration, content translation effort, tax/duties setup, theme adaptation
Common values:
- Single market — One country, one language, one currency
- Multi-currency — One language, multiple currencies (simplest multi-market)
- Multi-language — Multiple languages, with or without market-specific pricing
- Full multi-market — Different products, pricing, content, and compliance per region
What changes: Single market? No Shopify Markets configuration needed. Multi-language? Translation effort, app setup (Translate & Adapt or Weglot), and theme translation keys. Full multi-market? You might need separate Shopify Markets configurations or even separate stores — plus market-specific compliance (VAT, cookie consent, accessibility standards).
Scope impact: Each additional market can add 15–30% to the base scope, depending on depth of localisation.
Variable 5: B2B / Wholesale
What it determines: Whether B2B features (Shopify Plus native B2B, or third-party apps) are in scope
Common values:
- No B2B — DTC only
- Light B2B — Discount codes or wholesale pricing via tags/apps
- Native B2B (Shopify Plus) — Company accounts, custom catalogues, payment terms, quantity rules
- Separate B2B store — Dedicated wholesale storefront (Shopify expansion store or separate instance)
What changes: No B2B keeps the scope clean. Native B2B on Plus adds company setup, catalogue configuration, payment terms, and a second set of UX testing for the B2B buyer experience. A separate B2B store is effectively a second project.
Variable 6: POS / Physical Retail
What it determines: POS hardware, staff accounts, inventory sync, omnichannel configuration
Common values:
- No POS — Online only
- Shopify POS (1–3 locations) — Standard setup
- Shopify POS (4+ locations) — Multi-location inventory, staff permissions, hardware rollout plan
What changes: POS adds hardware procurement, location-based inventory configuration, staff training, and potentially custom receipt templates. Multi-location POS also raises inventory management complexity (transfer workflows, location-specific stock levels).
Variable 7: Integration Complexity
What it determines: The number and difficulty of third-party system connections
Common values:
- Low — Email marketing + reviews (Klaviyo + Judge.me). Standard apps, standard setup.
- Medium — Above + 1–2 operational integrations (shipping, helpdesk, loyalty)
- High — ERP, WMS, 3PL, custom middleware, or legacy system connections
- Very high — Multiple ERPs, custom APIs, real-time inventory sync across channels
What changes: Low integration complexity is standard Shopify app installation and configuration. High complexity introduces API mapping, staging/sandbox environments, error handling, retry logic, and integration-specific QA. Very high complexity often requires a dedicated integration workstream with its own timeline.
Rule of thumb: Each "high complexity" integration adds 20–60 hours to the scope, depending on API quality and documentation.
Variable 8: App Stack Constraints
What it determines: Third-party dependencies, compatibility testing, and potential conflicts
Common values:
- Flexible — No strong app preferences, open to recommendations
- Partially locked — Specific apps required (e.g., "we must use Recharge for subscriptions")
- Fully prescribed — Client dictates the full app stack, potentially including apps with known compatibility issues
What changes: A flexible app stack lets you recommend tested combinations. A prescribed stack means you need to validate compatibility upfront and may need to work around app limitations. If the client insists on an app that conflicts with the theme or another app, that's debugging time you need to scope.
Variable 9: Analytics & Tracking Requirements
What it determines: Tracking setup, data layer configuration, consent management
Common values:
- Standard — GA4 + one ad pixel
- Enhanced — GA4 + multiple ad pixels + GTM + custom events
- Advanced — Server-side tracking, custom data layer, attribution modelling
What changes: Standard is 2–4 hours. Enhanced is 8–16 hours. Advanced is 20+ hours and may require a specialist. Server-side tracking (via GTM server container or Shopify's Customer Events API) is increasingly requested but adds significant setup and testing.
Variable 10: Content Readiness
What it determines: Whether content creation is in scope and how it affects the timeline
Common values:
- Ready — All content (copy, images, video) provided by client before development starts
- Partially ready — Some content exists, some needs creation
- Not ready — Content needs to be created as part of the project
What changes: Content readiness is the #1 predictor of whether a project ships on time. If content isn't ready, you either scope content creation (which adds cost) or build a content-dependent timeline with explicit client delivery dates (which adds risk). Either way, the scope document needs to address it.
Variable 11: Design Approach
What it determines: Whether design is in scope, and the depth of design work
Common values:
- Client-provided design — Figma/Sketch files delivered, agency implements
- Theme customisation — Start from a premium theme, customise to match brand
- Custom design — Full UX/UI design from wireframes through to high-fidelity mockups
- Design system — Custom design with component library and documentation
What changes: Client-provided design is development-only scope. Theme customisation adds configuration and minor CSS/Liquid work. Custom design adds a full design phase (discovery → wireframes → mockups → revisions) that typically takes 3–6 weeks and requires its own deliverables and approval milestones.
Variable 12: Timeline Constraint
What it determines: Phasing, resourcing, parallel workstreams, risk buffer
Common values:
- Flexible — No hard deadline, quality over speed
- Target date — Preferred launch date, some flexibility
- Hard deadline — Non-negotiable (e.g., Black Friday, product launch, platform contract expiry)
What changes: A hard deadline may force you to run workstreams in parallel (design and development overlapping, rather than sequential), bring in additional resources, or descope features to phase 2. The scope document should explicitly state what's included in phase 1 vs. phase 2 when a hard deadline drives phasing decisions.
Variable 13: Post-Launch Support
What it determines: Whether ongoing work is included, and the handoff expectations
Common values:
- Clean handoff — Project ends at launch, no ongoing support
- Warranty period — 30–90 days of bug fixes included post-launch
- Retainer — Ongoing monthly support hours for maintenance and improvements
- Managed service — Agency continues to operate/optimise the store
What changes: Clean handoff means your scope ends at launch (plus documentation and training). A warranty period needs to be explicitly defined — what's a bug vs. a change request? A retainer adds a separate commercial agreement. Each option changes the scope document's "post-launch" section and the commercial terms.
Variable 14: Migration Complexity (migrations only)
What it determines: Data migration effort, SEO preservation, cutover plan
Common values:
- Simple — Small catalogue, few redirects, no complex data
- Standard — Medium catalogue, URL redirect mapping, customer data migration
- Complex — Large catalogue, complex data structures, gift cards, subscriptions, extensive SEO work, parallel running period
What changes: Simple migration might use Shopify's built-in import tools. Complex migration needs Matrixify or custom scripts, a full redirect map (potentially thousands of URLs), customer notification plan, and a defined cutover procedure with rollback plan.
Variable 15: Compliance & Accessibility
What it determines: Legal and accessibility requirements that add development and testing scope
Common values:
- Standard — Basic privacy policy, terms of service
- GDPR/CCPA — Cookie consent management, data handling procedures, privacy-by-design considerations
- WCAG AA — Accessibility compliance adding design constraints, development standards, and audit requirements
What changes: GDPR/CCPA adds consent management (Pandectes, OneTrust, etc.), cookie categorisation, and potentially data processing documentation. WCAG AA adds accessibility testing, remediation, and potentially an external audit — 20–40+ hours depending on template count and complexity.
Use this as a pre-scoping checklist. For each variable, capture the value before writing the scope.
| # | Variable | Value | Scope Impact |
|---|---|---|---|
| 1 | Project type | New build / Redesign / Migration / Feature add | Baseline deliverables and phases |
| 2 | Catalogue size | Small (<100) / Medium (100-2K) / Large (2K+) | Data migration, templates, testing |
| 3 | Unique templates | Count: ___ | Design and dev hours (direct) |
| 4 | Markets | Count: ___ / Languages: ___ / Currencies: ___ | Multi-market config, translation, tax |
| 5 | B2B / Wholesale | None / Light / Native (Plus) / Separate store | B2B workstream (yes/no) |
| 6 | POS | None / 1-3 locations / 4+ locations | Omnichannel config, hardware, training |
| 7 | Integration complexity | Low / Medium / High / Very high | Integration workstream sizing |
| 8 | App stack | Flexible / Partially locked / Fully prescribed | Compatibility testing scope |
| 9 | Analytics | Standard / Enhanced / Advanced | Tracking setup hours |
| 10 | Content readiness | Ready / Partial / Not ready | Content creation in scope? Timeline risk? |
| 11 | Design approach | Provided / Theme customisation / Custom / Design system | Design phase (yes/no), duration |
| 12 | Timeline | Flexible / Target date / Hard deadline | Phasing, resourcing, parallel work |
| 13 | Post-launch | Clean handoff / Warranty / Retainer / Managed | Post-launch section, commercial terms |
| 14 | Migration complexity | N/A / Simple / Standard / Complex | Migration workstream sizing |
| 15 | Compliance | Standard / GDPR-CCPA / WCAG AA | Compliance config, testing, audit |
From variables to assembled scope
Every agency that's tried to standardise scoping has built some version of this checklist — in a spreadsheet, a Notion database, or the head of their most experienced project manager.
The limitation is always the same: the variables are captured, but the scope document is still assembled manually. Someone reads the variables, opens a template, and decides what to include. That manual assembly step is where inconsistency creeps in — and where senior people's time gets consumed by work that should be systematic.
RuleDox makes the variables operational. Each variable on this page connects to rules in RuleDox. When you set the variable values for a project, rules determine:
- Which sections appear in the scope document (e.g., B2B sections only appear when B2B = yes)
- Which deliverables are included (e.g., redirect mapping only appears for migrations)
- Which exclusions are listed (e.g., content creation excluded when Content Readiness = Ready)
- How hours and effort are calculated (e.g., integration hours scale with complexity level)
The output is a structured Google Doc — your scope document, assembled from your rules, consistent across your team.
The checklist on this page gives you the framework. RuleDox gives you the engine.
Need a structured way to collect these variables from clients? See the Intake Questionnaire →
Try the live demo → — Set some variables, see the rules in action, get a real scope document in Google Docs.