PADI Commerce
Modernization
Modernizing PADI's B2C Store and B2B Stores onto a unified, future-ready commerce architecture, ahead of the NetSuite ERP cutover in Q1 2027.
Sachin KS — Director, Sales & Client Partnerships, Axelerant Technologies Inc sachin.ks@axelerant.com
Dear PADI and AIT team
On behalf of Axelerant, we want to express our sincere appreciation for the openness, depth, and collaborative spirit that the PADI and AIT teams have brought to every discovery session, architecture review, and stakeholder conversation over the past several months. The insight shared by both teams has not only shaped the thinking behind this proposal — it has reinforced our conviction that PADI is at a genuinely exciting inflection point in its digital journey.
PADI's mission to get more people to Start Diving, Keep Diving, and Teach Diving depends on a commerce and portal estate that meets its members and professional partners where they are — with experiences that are seamless, fast, and consistent across every surface. Today, that estate operates in silos: separate frontend technologies, manual data flows between systems, and a B2B commerce platform that is natively tied to an ERP that is being retired. This is the problem we are here to solve together.
This proposal presents a clear, phased path to a unified, future-ready commerce architecture, organized across the following tracks:
- B2C Store — frontend modernized from Frontastic to React/Next.js within padi.com, with the CommerceTools commerce engine untouched.
- B2B Stores — Birddog replaced with BigCommerce (hosted, Phase 1), integrated via the Patchworks iPaaS layer to NetSuite, Stripe, and Avalara, across the Americas (including Canada), EMEA, and APAC.
Alongside these two core tracks, Club Portal modernization is included as an optional line item, based on recent developments — scoped and estimated independently of the core programme (see Section 3, Section 6). Pro Portal modernization remains on hold and is out of scope for this proposal. For both Club and Pro, whether their URLs are unified under padi.com via Cloudflare routing in November 2026 is a separate decision to be confirmed and aligned during discovery (see Section 3.1).
Cutting across both tracks is a set of shared integration and infrastructure work — Acquia DAM connectors for every commerce surface, Cloudflare routing to unify the B2C Store under the padi.com namespace, and Avalara tax configuration across all the regional B2B instances (including Canada). These are priced within this engagement and are what make the tracks a coherent programme rather than independent projects.
Separately, PADI's product team is developing Unified Cart and Unified Payments requirements across B2C and B2B, still pending feasibility analysis and further discussion. We plan to pick this up during this workstream's discovery phase and assess what is feasible to fold into the Feb/May 2027 go-lives (see Section 1, Section 3, and Open Decision D12).
The sequencing of this programme is anchored to a hard external dependency: the NetSuite ERP go-live for North America in Q1 2027, which retires the Macola ERP that Birddog is natively connected to. That dependency drives Tranche 1 — B2C Store and B2B Americas, now including Canada on the same NetSuite instance. Everything else — B2B EMEA and APAC — follows in Tranche 2 in the May 2027 window.
We are deeply committed to making this programme a success for PADI and its global community. We look forward to building this together.
Sachin KS
Director Sales & Client Partnerships
Axelerant Technologies Inc
What we know — context from discovery
Over several months of discovery sessions, architecture reviews, and stakeholder workshops conducted between March and July 2026, we developed a detailed and grounded picture of PADI's current commerce landscape — the systems in play, the operational constraints, and the strategic objectives that define what success looks like for this programme.
PADI's digital commerce estate today is spread across distinct surfaces, each running on its own technology stack, with limited architectural consistency between them. The B2C store runs on a commerce platform with a proprietary rendering layer that sits outside PADI's emerging design system. And the B2B storefronts, serving dive professionals and retail partners across three global regions, run on a legacy cart system that is natively tied to an ERP that is being retired.
Two further member-facing surfaces — the Club Portal and the Pro Portal — sit alongside the B2C and B2B estate. Club currently runs on Vue.js with no design direction consistent with the modernized padi.com system; Pro's portal modernization has likewise been on the table but paused. Both were originally in scope for this engagement's broader vision, then placed on hold. Club has since been re-added as an optional line item based on recent developments (see Section 3, Section 4.4, Section 6); Pro remains on hold and out of scope.
Alongside this engagement, PADI's product team is running its own discovery into Unified Cart and Unified Payments — a single cart experience across devices, sessions, and geographies (anonymous and authenticated), and a platform-agnostic approach to payments across B2C and B2B. This work is still early: current-state cart mapping across business units, channels, and markets is in progress, feasibility analysis is ongoing, and it has been explicitly confirmed as not a November 2026 deliverable. We treat it as a parallel effort to track, not a requirement already defined for this proposal — see Section 3 and Open Decision D12 for how we plan to pick it up during discovery.
Through our discovery process, we identified that PADI's modernization challenge is not simply a technology refresh. It is a programme with hard external dependencies — most significantly, the retirement of the Macola ERP for North America in Q1 2027 and its replacement with NetSuite. The B2B commerce platform (Birddog) is natively connected to Macola and has no integration path to NetSuite. This means the B2B replatform is not a strategic choice but an operational necessity: without it, PADI's B2B commerce capability becomes non-functional at the point of ERP cutover.
Alongside the ERP-driven B2B dependency, PADI is executing a broader padi.com modernization programme — moving the main website and its associated properties onto a unified React/Next.js decoupled architecture with a shared design system in Nov 2026. This engagement aligns directly with that programme: the B2C and B2B stores' frontend modernization is explicitly positioned as an extension of the padi.com modernization effort, adopting its architecture, design system, and component library rather than building independent frontend solutions.
| Surface | Stack today | Key constraint |
|---|---|---|
| store.padi.com (B2C) | CommerceTools B2C + Frontastic rendering layer (Netlify) | Frontastic is proprietary to CommerceTools and doesn't participate directly in the React component system planned for padi.com. The template schema is also possibly hard-coded. |
| B2B storefronts Americas · EMEA · APAC | Birddog — legacy B2B cart natively connected to Macola ERP only | Birddog has no NetSuite connector. When Macola retires Q1 2027, the B2B cart is orphaned. |
| Area | Current state | Impact |
|---|---|---|
| Catalog, order & pricing sync | Product catalog, SKUs, order synchronization, and tier pricing are manually reconciled between Macola and Birddog — no automated sync | Data drift; manual re-entry burden; no real-time accuracy |
| Tax & address | No automated tax calculation; no automated address sync. Avalara is the incoming standard across all regions. | Compliance risk: operational debt as EMEA and APAC go live |
| Frontend fragmentation | B2C runs Frontastic, and B2B runs on Birddog — neither participates in the future-state React architecture for padi.com modernization | Multiple frontend skill sets to maintain; design inconsistencies across member surfaces |
The pattern that emerges from these pain points is consistent: PADI is operating a commerce estate where data does not flow automatically between systems, where staff is absorbing operational overhead that should be handled by platform automation, and where the frontend architecture is fragmented across technologies that do not share a common design language or component model. This programme addresses all of these dimensions — not by replacing what works, but by modernizing the layers and connecting the systems that need to communicate.
What we are solving for
The objectives below represent the measurable outcomes this programme is designed to deliver. They were derived from a structured analysis of PADI's current operational state, technology landscape, and strategic direction, and validated through discovery sessions with PADI stakeholders across commercial, operational, and technology functions.
- Unify the front-end architecture — starting with B2C. Bring the B2C Store into the unified React/Next.js decoupled architecture of padi.com — sharing the modernized padi.com design system and component library, and eliminating the Frontastic silo. For B2B, Phase 1 (Americas + Canada, EMEA, APAC) is expected to launch on BigCommerce's own native frontend and available modules, not the decoupled/headless architecture — that unification is a Phase 2 possibility, once B2C's patterns are established. This B2B approach, and everything downstream of it, is subject to BigCommerce being confirmed as the B2B platform by PADI's Technology team (Open Decision D1).
- Make NetSuite the single source of truth across B2B and B2C. NetSuite is the authoritative system for catalog, pricing, accounts, and order management across both B2B and B2C commerce. Product and pricing data flows from NetSuite into both commerce platforms via ERP-push. Orders placed on either platform are confirmed and legally invoiced in NetSuite.
- Replace Birddog with BigCommerce, a modern, natively connected B2B platform. BigCommerce connects to NetSuite (via the Patchworks iPaaS layer), Stripe, and Avalara across three regional storefronts. Eliminate manual catalog sync and reduce the operational overhead of staff-assisted ordering — while preserving the admin-assisted ordering workflow that remains a valid B2B operational pattern for PADI.
- Deliver scalably across regions. B2B runs as independently configurable storefronts — Americas (including Canada, now confirmed in Tranche 1 on the same NetSuite instance), EMEA, and APAC — each with a regional catalog, currency, and payment configuration. The architecture must scale to future additional storefronts (e.g. Japan) without a rebuild.
- Reuse the padi.com customer-journey research and design system, rather than duplicating it. The padi.com modernization programme researched and designed PADI's end-to-end customer journey. B2C Store inherits that research and component library directly — it is the same journey extended into the commerce layer, not a separate audience requiring its own discovery. B2B Phase 1 applies the same design system as a lightweight branding pass on top of BigCommerce's own built-in frontend — see Section 4.3.1 and Section 4.4.5 for what that means in practice. The optional Club Portal, if confirmed, differs: it moves onto the same padi.com decoupled architecture as B2C Store, not a branding pass on its current frontend — see Section 6.
The padi.com modernization workstream, targeted for November 2026, researched and designed PADI's end-to-end customer journey, including the browse-to-checkout path. Per the alignments we have had with PADI team so far, that research is treated as the single customer journey the commerce layer extends, not a separate audience needing its own discovery: the B2C Store inherits it directly, with no fresh foundational research run for the storefront itself.
For B2B Phase 1 (Americas + Canada, EMEA, APAC), the same principle applies in a lighter form: BigCommerce's own native B2B storefront is the starting point, with PADI branding and the shared design tokens applied as a theming pass, not a ground-up rebuild. No dedicated card sorting, user flow diagrams, or user research are scoped for this phase; headless architecture and the deeper, surface-specific design investment it would justify are deferred to a Phase 2 evaluation, once B2C's patterns are established.
The optional Club Portal, if confirmed as part of this workstream, is different in kind: rather than staying on its current frontend, Club's modernization moves it onto the same padi.com decoupled architecture built for the B2C Store, with Cloudflare routing from club.padi.com to padi.com/club to showcase the unified experience. The same no-dedicated-research approach still applies — no card sorting, UFDs, or user research scoped for Club either — but the frontend itself is rebuilt, not just rebranded. If Club isn't confirmed, none of this happens and Club remains exactly as it is today.
The result is one design system and one visual language carried consistently across every surface, sized to what each phase actually needs — a lightweight theming pass now, with room for deeper design investment later if PADI decides to pursue headless.
These five objectives are not independent — they are sequenced and interdependent. The frontend unification objective depends on the padi.com modernization programme delivering its design system and architecture. The NetSuite source-of-truth objective depends on the ERP implementation being sufficiently complete to expose the data model. The B2B platform objective — BigCommerce, selected in August 2026 — is now unblocked for build; remaining sequencing risk sits with final BigCommerce/Patchworks pricing, not the platform choice itself. Managing these dependencies is a core part of Axelerant's delivery responsibility in this engagement.
What's in scope
Four digital surfaces, across two tranches.
| Track | New URL | What changes | What stays | Timeline |
|---|---|---|---|---|
| B2C Store | padi.com/store | Frontastic → React/Next.js decoupled. Modernized design system. Cloudflare routing. Acquia DAM connector. | CommerceTools B2C engine, checkout (subject to changes identified as part of the Unified Cart discovery), catalog, pricing — unchanged. | T1 |
| B2B Americas + Canada | Current B2B subdomain | Full replatform off Birddog onto BigCommerce (hosted), via Patchworks iPaaS. NetSuite integration. Avalara (incl. Canada). Admin ordering. Acquia DAM. | Business workflows. Staff-assisted ordering capability. | T1 |
| B2B EMEA | Current B2B subdomain | Regional expansion of the B2B Americas build. Regional catalog, currencies, Avalara EMEA, Stripe EMEA. | Platform and architecture from T1 — B2B Americas. | T2 |
| B2B APAC | Current B2B subdomain | Regional expansion. Regional catalog, currencies, Avalara APAC, Stripe APAC. | Platform and architecture from T1 — B2B Americas. | T2 |
| Analytics Foundation (GA4/GTM) | Spans padi.com, blog, pros-blog, /store, and B2B subdomains. Also includes GA4/GTM config for the PADI mobile app workstream. | Event tracking, property consolidation, and GTM container configuration across all surfaces as each migrates. | Existing GA4 properties for surfaces not yet migrated remain as-is until their respective go-live. | Nov 2026 (padi.com/Blogs/Store — Club/Pro contingent, see Section 4.8), T1, T2 |
| Club Portal Optional | padi.com/club, if confirmed — Cloudflare routing bundled with this modernization | Vue.js → React/Next.js migration onto the unified padi.com decoupled architecture and shared component library. Drupal 10 → 11 upgrade on the shared instance also used by Pro — Club's IA and content-model changes stay isolated to Club, and the upgrade itself is tested against Pro before go-live. | Existing Club subscription/credential workflows. Pro's existing backend functionality and IA. | Optional |
padi.com/club as part of that same work — see Section 3.1.Cloudflare routing — B2C Store confirmed; Club/Pro TBD
As part of the padi.com modernization Phase 1 release (November 2026), the B2C Store will be unified under padi.com via Cloudflare routing — becoming the /store URL path. This Cloudflare routing layer serves as the interim URL-unification mechanism for the B2C store portal until its modernized React/Next.js frontend is built and made live as part of the decoupled padi.com architecture. The routing remains in place through the modernized B2C store go-live on 1 February 2027. Once the B2C store's new frontend is live, the Cloudflare routing is replaced by the native decoupled architecture. B2B storefronts remain as independent subdomains and are not routed through padi.com. Existing domain redirects handle continuity for bookmarked URLs throughout.
padi.com/pro Cloudflare routing happens in November 2026 is not committed in this proposal — Pro isn't being modernized in this engagement, so there's no unified experience to showcase by routing it. padi.com/club routing is a different case: it is bundled with the optional Club Portal line item (see Section 3, Section 6), not an independent decision — if Club modernization is confirmed, routing to padi.com/club follows as part of that work to showcase the unified experience; if not confirmed, Club stays on its current domain and frontend. Neither is committed for November 2026 in this proposal. See Section 4.8.1 for how this affects the Analytics Foundation workstream.What is not in scope
Clarity on exclusions protects delivery timelines, prevents scope creep, and ensures the budget is spent on what has been agreed.
| Area | Why excluded |
|---|---|
| Pro Portal | Placed on hold for a future modernization in line with the padi.com modernization, based on recent developments and potential PADI business-level changes to this portal. Cloudflare URL routing (padi.com/pro) is not committed either — to be confirmed during discovery (see Section 3.1). Pro shares its Drupal backend instance with Club Portal — if Club's optional track is confirmed, Club's IA and content-model changes stay isolated to Club, and the Drupal 11 upgrade is tested against Pro before go-live (see Section 4.5). |
| CommerceTools B2C engine | The CT platform, checkout logic, catalog, and pricing rules are all out of scope. Only the Frontastic rendering layer changes. CT contract runs 1.5–2 years. |
| B2C subscription management | A separate workstream, staying back on Stripe. Not part of this programme. |
| B2B Credential renewal | B2B Credential renewal is a separate programme track. |
| B2B — Japan | Separate Oracle 9i ERP system currently; cannot be treated as a simple regional add-on. Potential future phase after EMEA and APAC go live. Not in scope for this programme. |
| Acquia DAM migration | The DAM migration itself is managed separately. This programme covers only the DAM connector integrations per storefront/portal. |
| NetSuite ERP implementation | Owned by a different vendor. This programme integrates with NetSuite as a consumer — it does not configure or implement the ERP. |
| Stripe Billing and Payments | Checkout customization, discount/coupon engine enhancements, active-subscriber offers, credit card lifecycle management, and segmentation-based retention workflows are identified as needing further scoping. Not part of this commerce modernization workstream — to be separately understood, scoped, and prioritized with PADI before any commitment. |
| Unified Cart capability | PADI's product team is defining a single cart experience across devices, sessions, and geographies (anonymous + authenticated), still pending current-state cart mapping and feasibility analysis — explicitly confirmed as not a November 2026 deliverable. Not committed in this proposal; findings will be picked up during discovery to assess feasibility for the Feb/May 2027 go-lives (see Open Decision D12). |
| Unified payment system architecture | Any consolidation or re-architecture of PADI's payment infrastructure across platforms (B2B, B2C, subscription) is being defined in parallel by PADI's product team, in a platform-agnostic way, and is not yet committed in this proposal. Would need to be scoped as a dedicated initiative or change request once requirements and feasibility are confirmed (see Open Decision D12). |
| Conversion Rate Optimization (CRO) and A/B testing | CRO strategy, A/B testing frameworks, and experimentation tooling are not part of this workstream — considered separately as a change request once the new frontend architecture is live and stable. |
| Personalization and CDP-driven experiences | Segment-based content, behavioral targeting, and CDP-activated experiences (e.g. via Salesforce Data Cloud) are out of scope. The new frontend will be personalization-ready, but the personalization layer is a separate initiative. |
| travel.padi.com revamp / replatforming | Any modernization or replatforming of travel.padi.com is a separate initiative and not part of this commerce modernization workstream. |
B2B — Canada is no longer listed here: it is now confirmed in scope for B2B Americas Tranche 1 (previously Open Decision D5 — see Section 3.3, resolved). Club Portal is also no longer listed here: it is in scope as an optional track (see Section 3).
Decisions that must be resolved
Known dependencies — each with a clear consequence if unresolved before build start. D1–D3 and D5 are resolved as of August 2026; the remainder are commercial/administrative confirmations that do not block build start.
| # | Decision | Resolution | Required by |
|---|---|---|---|
| D1 | B2B commerce platform — CommerceTools vs BigCommerce vs NetSuite Commerce (reserved for headless direction). See PADI B2B Commerce — Must-Haves & Nice-to-Haves ↗ | Resolved BigCommerce selected, ~90–95% confirmed pending final pricing. CommerceTools ruled out for B2B (no OOTB B2B storefront, no native NetSuite connector). NetSuite SuiteCommerce ruled out (not headless, conflicts with member-experience strategy) — see Section 4.4.1. | Aug 2026 |
| D2 | Headless architecture — is a native PADI-app shopping cart a hard requirement, or a roadmap item? | Resolved Headless ruled out for Phase 1 — too much risk to the ERP launch timeline. Hosted/OOTB BigCommerce for Feb 2027. Headless BigCommerce is a Phase 2 evaluation, once B2C headless patterns are established by Feb 2027 Tranche 1 Go-live. | Aug 2026 |
| D3 | CommerceTools, BigCommerce, NetSuite SuiteCommerce B2B platform demos — fitment validation, NetSuite sync assessment, admin ordering review. | Resolved Demos completed. BigCommerce confirmed robust, no blockers beyond pricing. Multi-MID support confirmed. | Aug 2026 |
| D5 | B2B Canada Store — depends on NetSuite ERP readiness for the Canada region to have its own B2B store and product catalog. | Resolved Canada is confirmed in scope for B2B Americas Tranche 1 (1 Feb 2027), on the same NetSuite instance as Americas — not a separate subsidiary build. Canada requires its own provincial tax handling and Avalara setup. | Jul 2026 |
| # | Item | Status | Owner |
|---|---|---|---|
| D4 | B2C ERP sync model — will the B2C store adopt or build a connector between CommerceTools and NetSuite, similar to the B2B one, to automate catalog and order data flow? | Open Patchworks is being evaluated as the iPaaS layer for CommerceTools ↔ NetSuite as well, not just BigCommerce ↔ NetSuite. | Pre-build start |
| D6 | BigCommerce EMEA multi-MID / multi-currency — one storefront serving multiple merchant IDs/currencies (e.g. EMEA's 3 currencies). | Open Confirmation email pending from the BigCommerce account team. | BigCommerce account team |
| D7 | Patchworks final commercials — volume-based pricing. | Open Order-volume data is being shared with Patchworks to finalize pricing; no technical blockers identified to date. | PADI / Patchworks |
| D8 | B2C SOW sign-off — needed to kick off CommerceTools discovery. | Open | PADI |
| D9 | Japan scope — separate Oracle system, cannot be treated as a simple regional add-on. | Open Unresolved; candidate for a future phase. | Future phase |
| D10 | Club Portal Cloudflare routing (padi.com/club) — see Section 3.1. | Open Bundled with the Club Portal optional line item, not an independent decision — follows automatically if Club modernization is confirmed; otherwise doesn't happen. | Tied to Club go/no-go |
| D11 | Pro Portal Cloudflare routing (padi.com/pro) — see Section 3.1. | Open To be confirmed during discovery; not committed for Nov 2026 in this proposal. | Discovery |
| D12 | Unified Cart & Unified Payments — PADI's product team is developing platform-agnostic requirements for a single cart experience (anonymous + authenticated, multi-currency) and unified payments across B2C and B2B, still pending current-state cart mapping and feasibility analysis. | Open Not a November 2026 deliverable; not committed in this proposal. To be picked up during this workstream's discovery phase — findings assessed for feasibility against the Feb/May 2027 go-lives, with any confirmed scope added via change request rather than assumed here. | Discovery phase |
What we are assuming
These assumptions underpin the approach, estimates, and timeline. If any prove incorrect, the scope or timeline must be revisited before proceeding.
| # | Assumption |
|---|---|
| A1 | The modernized padi.com design system and React/Next.js decoupled architecture will be available for consumption before the B2C Store frontend build begins. Design + Discovery for Tranche 1 tracks runs 1 September – mid-November 2026, with build starting immediately after and the 1 February 2027 go-live held fixed. |
| A2 | NetSuite ERP configuration and data model for North America will be sufficiently available before B2B integration development begins, to validate the connector design and confirm data flows. |
| A3 | Acquia DAM will be live, and SKU-level asset mapping will be confirmed with PADI, before DAM connector development begins for any storefront or portal. |
| A4 | EMEA currently uses Datatrans. Future state targets Stripe for all regions. Datatrans → Stripe migration for EMEA is assumed to be complete or in progress by the time B2B EMEA build begins in Tranche 2. |
| A5 | The B2B platform will be built to the agreed must-have feature set — not migrated from Birddog. Birddog serves as a functional parity reference only, not a migration source. |
| A6 | Design for B2C Store follows the modernized padi.com design system. No separate design exploration for this surface is assumed — it inherits direction from the padi.com modernization programme. |
| A7 | The B2B EMEA and APAC storefronts delivered in Tranche 2 will inherit the design system, component library, and UX patterns established for B2B Americas in Tranche 1. No separate design exploration or regional design customization is assumed beyond regional catalog, currency, and checkout configuration differences. |
| A8 | All platform subscription licensing required for this programme — including BigCommerce and the Patchworks iPaaS layer, any additional Stripe accounts/MIDs for EMEA and APAC, Avalara license instances per region (incl. Canada), and frontend hosting if a headless architecture is later confirmed — will be procured and maintained by PADI directly. Axelerant's scope covers implementation and integration only; platform licensing costs are not included in the estimates in this proposal. |
| A9 | There is no identified GA4/GTM tracking on the B2B stores across the Americas, EMEA, and APAC under PADI Global or other accounts. We are assuming a fresh setup for these properties. |
| A10 | B2B platform is hosted BigCommerce in Phase 1 (Feb 2027 go-live) — a lift-and-shift skin of Birddog, not headless. Headless BigCommerce is evaluated as a Phase 2 option after Feb go-live, once B2C headless patterns are established. |
| A11 | PADI's product team will share Unified Cart and Unified Payments requirements and feasibility findings with Axelerant during this workstream's discovery phase (see Open Decision D12). Any pieces confirmed as feasible for the Feb/May 2027 go-lives are scoped in via change request — none are assumed or estimated in this proposal. |
| A12 | Club and Pro share the same Drupal 10 instance (Acquia Cloud). If the optional Club Portal track is confirmed, Club's IA and content-model changes stay isolated to Club, and the Drupal 10 → 11 upgrade is tested against Pro as well as Club before go-live — regression/compatibility testing for Pro only, not new Pro features, design, or content work (see Section 4.5). |
Current state — three stacks, four silos, one retiring ERP
The B2C store runs on CommerceTools with a Frontastic rendering layer. The B2B cart (Birddog) is connected only to Macola, with no path to NetSuite. Macola ERP feeds product catalog data to both B2B and B2C through manual update processes — there is no automated sync between ERP, commerce platform, and storefronts.
| Layer | B2C Store | B2B Stores |
|---|---|---|
| ERP | Macola ERP | Macola ERP |
| Backend | CommerceTools B2C (engine unchanged) | Birddog — Macola-native connector only |
| Frontend | Frontastic (Netlify) | B2B Storefronts — Americas · EMEA · APAC |
| URL | store.padi.com | b2bamericas / b2bemea / b2bapac |
| ERP connection | Manual product catalog update | Manual product catalog & config update |
Macola ERP is the origin of product catalog data for both B2C and B2B, but this data reaches each commerce platform through manual processes rather than automated sync. The B2C store's Frontastic rendering layer does not share code, components, or design tokens with anything else in PADI's technology estate. And Birddog — the B2B cart — is natively connected to Macola only: there is no integration path to NetSuite, which means the B2B commerce surface becomes non-functional at the point of ERP cutover unless it is replaced before that date.
Future state — one ERP, two different frontend approaches, one URL namespace
The B2C Store moves onto the unified React/Next.js decoupled architecture within padi.com, served via Cloudflare routing under the padi.com namespace. NetSuite becomes the source of truth for both B2B and B2C commerce. Birddog is replaced by BigCommerce, connected natively to NetSuite (via Patchworks), Stripe, and Avalara. For Phase 1, B2B runs on BigCommerce's own native frontend and available modules — PADI branding applied to hosted templates, not a decoupled/headless build; that remains a Phase 2 possibility (see Section 4.4.5). B2B stores remain independent subdomains — not part of the padi.com routing namespace. All backends stay in place. The B2C engine is unchanged. This B2B approach is subject to BigCommerce being confirmed as the B2B platform by PADI's Technology team (Open Decision D1).
| Track | Changes | Stays unchanged |
|---|---|---|
| B2C Store | Frontastic → React/Next.js within modernized padi.com architecture. URL: padi.com/store via Cloudflare as part of the Nov 2026 padi.com release. Acquia DAM connector. | CommerceTools B2C engine, checkout (subject to changes identified as part of the Unified Cart discovery), catalog, pricing logic — completely unchanged. |
| B2B Stores | Birddog replaced by BigCommerce (hosted), on BigCommerce's own native frontend with PADI branding — not headless in Phase 1. NetSuite ERP-push integration via Patchworks (catalog, pricing, accounts). Avalara tax per region (incl. Canada). Stripe payments per region. Acquia DAM connector. Independent subdomains. | Business workflows. Staff-assisted ordering capability. Account data (migrated via NetSuite). |
| Club Portal Optional, pending confirmation | Not yet approved as part of this workstream's scope — pending confirmation by PADI (see Open Decision D10, Section 4.5). If confirmed: Vue.js → React/Next.js within the same padi.com decoupled architecture and shared component library, plus a Drupal 10 → 11 upgrade on the shared instance also used by Pro. | If not confirmed, nothing here changes — Club stays exactly as it is today. Either way: existing Club subscription/credential workflows, and Pro's existing backend functionality and IA. |
| ERP | NetSuite replaces Macola as source of truth for B2B and B2C. ERP-push: catalog/pricing flow from NetSuite into both CT B2C and BigCommerce. Orders flow back to NetSuite for invoicing. | ERP implementation (separate workstream). NetSuite is consumed as a service, not configured here. |
| GA4 / GTM | New event tracking, property consolidation, and cookie-domain configuration as Blogs, Store, and (if confirmed) Pro/Club move through Cloudflare routing or go live on new platforms — including a full GTM/dataLayer rebuild for Blogs and from-scratch GA4/GTM setup for the B2B storefronts. | The existing padi.com GA4 property remains the single source of truth all surfaces consolidate into. |
B2C Store — Frontastic out, React in, engine unchanged
The B2C store moves from Frontastic (hosted on Netlify) to the unified padi.com React/Next.js decoupled architecture. The CommerceTools B2C engine, checkout (subject to changes identified as part of the Unified Cart discovery), product catalog, and pricing are completely unchanged — only the rendering and delivery layer changes. The store becomes padi.com/store via Cloudflare routing.
| Detail | |
|---|---|
| Go Live | Tranche 1 — February 2027 |
| Commerce engine | CommerceTools B2C — completely unchanged. Checkout (subject to changes identified as part of the Unified Cart discovery), catalog, pricing, and payment logic (subject to changes identified as part of the Unified Payments discovery) stay as-is. |
| Frontend change | Frontastic rendering layer → React/Next.js within the modernized padi.com architecture, using the shared component library. |
| URL | Becomes padi.com/store via Cloudflare routing as part of the Nov 2026 padi.com modernization go-live. store.padi.com redirects are handled already in the Nov 2026 release. |
| DAM integration | New Acquia DAM connector for product asset delivery. |
| Scope note | This is not a B2C commerce re-architecture. B2C subscription management is also out of scope. |
B2C Store — design approach
The CommerceTools engine, checkout, and pricing logic are unchanged. Per the alignments we have had with PADI team so far, the B2C Store is treated as a continuation of the same customer journey padi.com has already researched — not a separate audience requiring its own discovery. Design here is a direct application of the inherited system, not new research.
- Apply the inherited padi.com design system and component library directly to the store templates — PLP, PDP, cart, and the checkout shell — so the storefront reads as one continuous experience with the rest of padi.com.
- No dedicated user research, card sorting, or UFDs are scoped for this track — the store inherits the diver segment, IA, and customer-journey work already completed on padi.com.
- DAM-driven product-asset presentation to enrich the PDP and merchandising without touching the catalog or commerce engine.
- Lo-fi wireframes → hi-fi UI mockups applying the shared component library to the store's existing screens — a theming and layout pass, not new UX design.
Deeper conversion-focused UX work (funnel analysis, A/B and usability testing) is out of scope for this workstream — consistent with the CRO exclusion in Section 3.2 — and can be considered as a future change request once the new frontend is live and stable.
B2B Stores — Birddog replaced by BigCommerce, NetSuite takes over
The B2B replatform is the non-discretionary core of this programme. Birddog connects only to Macola — when Macola retires for North America in Q1 2027, the B2B cart is structurally orphaned. BigCommerce has been selected as the replacement, evaluated against a formally validated set of must-have requirements. See PADI B2B Commerce — Must-Haves & Nice-to-Haves ↗ — the must-haves define the floor; the nice-to-haves rank the upside.
Platform options — evaluated, decision pending
PADI's Technology team is expected to confirm the B2B commerce platform soon. Based on the evaluation to date, BigCommerce is the leaning choice, integrated to NetSuite via the Patchworks iPaaS layer — but neither is finalized yet, and CommerceTools has not been officially ruled out. Below is a summary of the three options, and the sub-options within each, evaluated in this process so far.
Option A — CommerceTools
Not the leaning choice at this stage, though not officially ruled out. CommerceTools has no native B2B cart — a B2B module would need to be built on top of the existing CT B2C foundation — and no native NetSuite connector, so an iPaaS or custom connector is needed either way. Two sub-options were evaluated; pricing for both was sized during discovery but is not carried forward in this proposal, since the evaluation currently leans toward BigCommerce (see Section 6):
- A1 — CommerceTools + iPaaS. Lower upfront build cost; iPaaS connector maintained by vendor; faster to implement. Trade-off: no native B2B cart on CT; iPaaS batch sync rather than real-time; recurring iPaaS license.
- A2 — CommerceTools + custom connector. Real-time bidirectional sync; Axelerant owns and maintains the connector. Trade-off: no native B2B cart; higher upfront build cost; requires confirmed NetSuite data model access before build begins.
Option B — BigCommerce (leaning choice, pending final decision)
Out-of-the-box B2B storefront with a lower custom-dev burden overall — currently the direction the evaluation is leaning toward. The native B2B Edition reduces storefront build effort significantly, a deliberate trade-off against the unified design system/headless direction that would be accepted for Phase 1 to protect the Feb 2027 ERP deadline, if confirmed. B1 and B2 were evaluated for context, but given the leaning choice is BigCommerce + Patchworks based on recent developments, only the Patchworks integration approach is being sized going forward — we'll revisit B1/B2 if the final evaluation and direction changes:
- B1 — BigCommerce + available native NetSuite connector. Out-of-the-box B2B storefront; lower custom-dev burden overall. Trade-off: native connector possibly mono-directional; may need custom work for bidirectional ERP-push.
- B2 — BigCommerce + custom connector. Out-of-the-box B2B storefront; real-time bidirectional sync; Axelerant builds and maintains the connector. Trade-off: higher upfront build cost for the custom connector.
- Patchworks iPaaS (under evaluation, pending final decision). A pre-built BigCommerce + NetSuite blueprint that would close the bidirectional-sync gap B1 leaves open, without the full custom-build cost of B2 — structurally between the two. Not yet finalized; final commercials pending PADI's order-volume data to BigCommerce and Patchworks (Open Decision D7).
Option C — NetSuite SuiteCommerce
Native to the ERP, with no sync layer needed — but not headless, which conflicts with PADI's longer-term member-experience and unified-cart direction. The least likely of the three options based on the evaluation so far, though not formally closed out pending PADI's Technology team's final decision. Not sized.
The Patchworks integration approach is the one being sized going forward, given the leaning choice — B1 and B2's original figures are retained in Section 6 purely as the bounding range for that estimate, not as separately priced alternatives. A1 and A2 (CommerceTools) were also sized during discovery, but that pricing isn't carried forward — see the summary above for what each involved. All figures predate PADI's final decision and will be revisited if the direction changes.
Must-have fit — the evidence behind the decision
Kept as the audit trail for the BigCommerce decision. Full document: Must-have fit ↗
| # | Must-have | CommerceTools | BigCommerce |
|---|---|---|---|
| 1 | OOTB B2B storefront without custom dev | Partiallayered on B2C; needs to be built | StrongB2B Edition OOTB |
| 2 | NetSuite as source of truth (ERP-push) | Buildcustom connector or iPaaS | Gapnative sync is mono-directional — closed by Patchworks |
| 3 | Account-level / tier pricing from NetSuite | Strongflexible pricing engine | Supportedprice lists |
| 4 | Multi-region — 3 independent storefronts | Strongstores/channels are core primitives | Supportedmulti-storefront |
| 5 | Physical + digital product types, fulfilment routing | Strong | Strong |
| 6 | Order placement without promo-code workflow | Strong | Supported |
| 7 | Commercially maintained NetSuite connector — bidirectional | Buildbuild & maintain, or iPaaS | Strongclosed by the Patchworks blueprint |
| 8 | Tax per region (Avalara) | Supported | Supported |
| 9 | Admin / staff-assisted ordering | Build on Merchant Center | Strongnative B2B admin |
| 10 | Minimum ongoing custom-dev burden | Highermore is built | Lowermore out of the box |
B2B Americas + Canada, on BigCommerce
| Detail | |
|---|---|
| Go Live | Tranche 1 — February 2027 |
| Integration | NetSuite ERP-push (catalog, pricing, accounts) via the Patchworks iPaaS blueprint. Order completion pushed back to NetSuite. Avalara integration for tax. Stripe integration for payments (subject to changes identified as part of the Unified Cart discovery). |
| Canada | Confirmed in scope (Open Decision D5, resolved) — same NetSuite instance as Americas, with its own provincial tax handling and Avalara setup. |
| Admin ordering | Staff-assisted ordering workflow preserved in BigCommerce's native B2B admin interface. |
| DAM | Acquia DAM connector for product asset delivery. |
| Subdomains | B2B Americas operates as an independent subdomain, as in the current state, and will not be routed through padi.com. |
EMEA + APAC — regional expansion of Americas
EMEA and APAC are regional expansions of the Americas build. The platform and core architecture are established in Tranche 1; Tranche 2 configures regional catalogs, currencies, Avalara instances, and Stripe regional accounts for each region. EMEA currently uses Datatrans for payments — the future state targets Stripe for all regions, and the Datatrans migration is assumed to be in progress by the time EMEA build begins.
| Detail | |
|---|---|
| Go Live | Tranche 2 — May 2027 |
| Scope | Regional catalog configuration, currencies, Avalara per region, Stripe per region (subject to changes identified as part of the Unified Cart discovery). Platform and architecture reused from Tranche 1 — B2B Americas build. |
B2B design — BigCommerce's own templates, PADI branding on top
Per the alignments we have had with PADI team so far, B2B Phase 1 (Americas + Canada, EMEA, APAC) uses BigCommerce's own built-in B2B storefront templates as the starting point — not a bespoke design build, and not headless (Open Decision D2, resolved). There is no existing PADI design direction for B2B commerce patterns, and the current Birddog experience isn't a usable baseline either way — but rather than commission dedicated research to design these patterns from scratch, PADI branding and the shared design tokens are applied directly onto BigCommerce's out-of-the-box templates.
- Apply PADI branding (logo, colour, typography) and the shared design tokens to BigCommerce's native B2B storefront templates — a theming pass on the existing platform UI, not a rebuild.
- No dedicated B2B segments/scenarios research, card sorting, or UFDs are scoped for this phase.
- Account-level pricing, bulk ordering, reorder, and staff-assisted admin ordering are delivered using BigCommerce's native B2B capabilities as-is, styled to PADI's branding rather than custom-designed.
- EMEA and APAC (Tranche 2) reuse whatever theming and configuration is established for B2B Americas — fresh work is limited to regional catalog, currency, and payment configuration differences (including the Datatrans → Stripe transition for EMEA).
Club Portal — optional, if confirmed
Club Portal currently runs on a shared Drupal 10 instance (Acquia Cloud) with Pro Portal — a different instance from padi.com's own. If this optional track is confirmed, Club's modernization migrates its frontend from Vue.js to React/Next.js within the unified padi.com decoupled architecture, building on the shared design system and component library established in the padi.com modernization programme. The shared Drupal instance upgrades from Drupal 10 to Drupal 11 as part of this work. All backend logic, APIs, and functionality remain unchanged — the backend may be adapted where required by new information architecture direction from padi.com modernization, but no new features are built.
| Detail | |
|---|---|
| Go Live | Not committed. If confirmed with sufficient lead time, could target Tranche 1 (February 2027) alongside the B2C Store, reusing the padi.com component library work already underway; later confirmation pushes the timeline out accordingly. |
| Backend | Drupal backend unchanged. Drupal 10 → 11 upgrade on the shared instance also used by Pro. Club's IA and content-model changes stay isolated to Club, and the upgrade itself is tested against Pro before go-live — see the callout below. |
| Frontend | Vue.js → React/Next.js, adopting the modernized padi.com design system and component library — a full frontend rebuild, unlike B2B's Phase 1 approach of branding BigCommerce's own templates (see Section 4.4.5). |
| URL | If confirmed, becomes padi.com/club via Cloudflare routing as part of this same work, to showcase the unified experience — bundled with this modernization decision, not tied to the Nov 2026 padi.com Phase 1 release specifically (see Open Decision D10, Section 3.1). Until confirmed, Club remains on club.padi.com on its current stack. |
| Estimate | ~320 dev + ~250 design hours (see Section 6) — hours-based; commercial pricing pending. |
Club design — frontend rebuilt, research not commissioned
Club members are an authenticated audience with their own tasks — membership, benefits, renewals, profile, transaction history — that the padi.com marketing-site research doesn't model. Unlike B2C and B2B, Club's frontend is fully rebuilt onto the padi.com decoupled architecture if confirmed — but per the alignments we have had with PADI team so far, that rebuild does not commission dedicated card sorting, UFDs, or user research.
- Apply the inherited padi.com design system and component library directly to the Club screen set — profile, membership, benefits, renewals, transaction history — so Club reads as one continuous experience with the rest of padi.com.
- No dedicated Club-specific user segments/scenarios research, card sorting, or UFDs are scoped for this phase — the same no-dedicated-research approach applied to B2C and B2B Phase 1 (see Section 4.3.1, Section 4.4.5).
- Lo-fi wireframes → hi-fi UI mockups for the Club screen set, built directly on the shared component library — a rebuild using inherited patterns, not new research-led design.
System landscape — target state
The table below shows the full target system map: which systems own what, where each runs, and how they connect in the future state.
| Layer | System | Role | Status |
|---|---|---|---|
| ERP / source of truth | NetSuite | B2B and B2C catalog, pricing, accounts, order + invoice management | Incoming Q1 2027 |
| B2B commerce platform | BigCommerce | Replaces Birddog — hosted, Phase 1 (Open Decision D1, resolved) | Confirmed pending pricing |
| B2B integration | Patchworks iPaaS | Pre-built BigCommerce + NetSuite blueprint (~80–90% coverage); ~10–20% custom for regional entity routing | Confirmed pending pricing |
| B2C commerce engine | CommerceTools B2C | B2C store — unchanged | Unchanged |
| Frontend — padi.com surfaces | React / Next.js — padi.com | B2C Store: unified under padi.com, decoupled architecture | New frontend |
| Frontend — B2B | BigCommerce native frontend (hosted) | B2B storefronts: independent subdomains, PADI branding on BigCommerce's own templates. Decoupled/headless React frontend is a Phase 2 possibility, not Phase 1. | Confirmed for Phase 1 |
| URL routing | Cloudflare | Routes /store under padi.com; handles domain redirects. /club and /pro routing not committed — see Section 3.1. | /store confirmed |
| Digital assets | Acquia DAM | Product imagery — SKU-mapped to B2C store, B2B stores. | New connectors per surface |
| Tax | Avalara | Tax calculation per region (Americas incl. Canada; expanding to EMEA + APAC in T2) | Reused + expanded |
| Payments | Stripe | B2B payments across regions (regional accounts); B2C unchanged | Reused |
| Identity / SSO | Cognito + Salesforce CRM | SSO and single-logout across all surfaces | Unchanged |
SEO continuity — across every rebuild
Building on the URL redirect and SEO preservation work completed during the padi.com Phase 1 Cloudflare routing release in November 2026, this workstream ensures that any SEO considerations specific to each property's frontend rebuild are addressed at the point of go-live.
- Full technical SEO audit (site speed, indexing, crawl depth, Core Web Vitals).
- Content audit for high-value pages, evergreen articles, and underperforming keywords.
- Updated metadata, schema markup, and improved internal linking to boost discoverability.
- Ensuring article structures are optimized for AI-driven/featured snippet visibility (AEO).
- GEO/locale-based adjustments where applicable.
- Creating SEO-ready pathways from editorial content to PADI courses and products without compromising editorial integrity.
The goal at each platform go-live is for the new React/Next.js frontend to deliver a measurably stronger technical SEO baseline than the surfaces it replaces.
Analytics foundation — three milestones
As padi.com, Blogs, and Store move through Cloudflare routing into the unified padi.com namespace in November 2026, and as the B2B storefronts come online on new commerce platforms, this workstream consolidates PADI's GA4 and Google Tag Manager configuration across the estate. Today, tracking is fragmented across subdomains — separate properties, separate cookies, and in the case of the B2B storefronts, no tracking has been identified.
This work is sequenced to three milestones: the padi.com Phase 1 release in November 2026 (Cloudflare routing for padi.com, Blogs, and Store — confirmed; Club and Pro routing and their analytics work contingent, see above), the Store redesign go-live and Mobile app go-live in February 2027, and the B2B storefront go-lives (Americas in Feb 2027, EMEA and APAC in May 2027).
Nov 2026 — Cloudflare routing milestone
PADI.com itself gets new event tracking aligned to its redesign. Blogs are full platform migrations from WordPress to Drupal 11, so GTM/dataLayer is rebuilt from scratch. Store is a confirmed URL/analytics-only change at this stage — tracking kept running as-is, full ecommerce rebuild deferred to February. Pro and Club analytics work is contingent on their routing being confirmed during discovery (see Section 3.1, Section 4.8).
4.8.1.1 PADI.com — modernization (redesign)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Remove duplicated events — "generic_interaction" and "general_interaction" | Both | Fix | Both fire today. Merge to one. (page_view double-count checked — not happening.) |
| 2 | Add nav events — "nav_cat" and "nav_sub" with dynamic labels; new GA4 dimension | Both | Setup | Captures top-level + sub-nav by label. Replaces today's mm_* events. |
| 3 | CTA clicks — common click class, GTM reads the name into the label; new GA4 dimension | Both | Setup | Replaces unlabelled click events with a named CTA. |
| 4 | Page speed tracking via GTM; new GA4 dimension + metric | Both | Setup | load_time_sec metric already exists. Confirm it fires, then extend. |
| 5 | Track login via the data layer in GTM | GTM | Setup | dataLayer push on login. is_authenticated flag already works (~0.5% not set). |
| 6 | Track account creation via the data layer in GTM | GTM | Setup | dataLayer push on signup complete. |
| 7 | Scroll depth threshold | Both | Setup | Set 25 / 50 / 75 / 90. scroll + article_post_scroll_depth exist today. |
| 8 | Branch CTA by destination as the event label (travel/store/pros) | Both | Setup | Same label scheme as CTA click. Shows where intent goes. |
| 9 | Capture funnel-step events, set them as goals in GA4 | Both | Setup | e.g. view dive guide page. Lets us work out funnel + drop-off rates. |
4.8.1.2 Blogs (blog + pros-blog) — WordPress to Drupal 11 migration into padi.com
Full platform migration — proceeds regardless of the Club/Pro routing decision.
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Merge blog + pros-blog into the main GA4 property (same measurement ID) | GA4 | Migration | Both move onto padi.com (Drupal). Same domain, no cross-domain tracking needed. |
| 2 | Re-implement GTM + dataLayer in the new Drupal templates | GTM | Setup | New CMS — WordPress tracking does not carry over. Rebuild on Drupal 11. |
| 3 | Update the self-referral exclusion list — remove blog.padi.com + pros-blog.padi.com | GA4 | Fix | Internal now, not referrals. Watch for new self-referrals. |
| 4 | Set cookie_domain to auto (root .padi.com) so client_id carries across blog + main | Both | Fix | Confirm not pinned to a subdomain. Verify _ga domain in DevTools. |
| 5 | Map 301 redirects: old WordPress URLs → new padi.com/blogs paths | Both | Migration | Keeps history + SEO. Fire page_view once — no double-count. |
| 6 | Tag the new blog + pros-blog paths as a content group | GA4 | Setup | Makes the blog a segment inside the merged property. |
| 7 | CTA clicks in articles — common class, name into the label; by destination + position | Both | Setup | Same scheme as padi.com. Blog's main success signal. |
| 8 | Text-link clicks to ecosystem pages | Both | Setup | Text links often beat buttons on blogs. Track separately. |
| 9 | Related/recommended article clicks | Both | Setup | Shows if readers go deeper into content. |
| 10 | Outbound clicks to store/travel/courses/dive-shop, set as goals | Both | Setup | The hop the blog is judged on. Same property now, no cross-domain loss. |
| 11 | Newsletter/lead-capture submit (if present) | Both | Setup | A real blog-side conversion. |
| 12 | Article read-complete + scroll depth | Both | Setup | Read-quality signal. Rebuild in Drupal — no parameter followed today. |
| 13 | Image clicks (only where the image links out) | Both | Setup | Low priority. Linked images only. |
| 14 | Decide on a GTM container — one container or a separate blog container | GTM | Decision | Both feed the one GA4 property. Separate is fine if teams differ. |
4.8.1.3 Store — Cloudflare routing only (store.padi.com → padi.com/store)
The store's redesign and ecommerce event buildout happen at the February 2027 Tranche 1 go-live. This November phase is URL routing and tracking continuity only — confirmed, no redesign work.
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Merge store into the main GA4 property (same measurement ID) | GA4 | Migration | Same domain now, no cross-domain tracking needed. |
| 2 | Update the self-referral exclusion list — remove store.padi.com | GA4 | Fix | store.padi.com to padi.com/store is internal now, not a referral. |
| 3 | Set cookie_domain to auto (root .padi.com) so client_id carries across store + main | Both | Fix | Confirm not pinned to store.padi.com. Verify _ga domain in DevTools. |
| 4 | Verify the GTM + GA4 tag fires on the proxied /store pages | GTM | Audit | Proxy rewrites paths and caches pages. Check the snippet fires after rewrite. |
| 5 | Map 301 redirects: old store.padi.com URLs → padi.com/store/... | Both | Migration | Keeps history + SEO. Fire page_view once — no double-count. |
| 6 | Tag /store/* as a content group | GA4 | Setup | Makes store a segment inside the merged property. |
| 7 | Keep the existing store tracking running through routing | Both | Audit | Events stay as-is for now. Ecommerce rebuild happens at the Feb 2027 redesign. |
4.8.1.4 Pro — Cloudflare routing only (pro.padi.com → padi.com/pro)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Update the self-referral exclusion list — remove pro.padi.com | GA4 | Migration | Same domain now, no cross-domain tracking needed. |
| 2 | Set the cookie domain to root (.padi.com) so client_id carries across pro + main | GA4 | Fix | pro.padi.com to padi.com/pro is internal now, not a referral. |
| 3 | Verify the GTM + GA4 tag fires on the proxied /pro pages | Both | Fix | Confirm not pinned to pro.padi.com. Verify _ga domain in DevTools. |
| 4 | Map 301 redirects: old pro.padi.com URLs → padi.com/pro/... | GTM | Audit | Proxy rewrites paths and caches pages. Check the snippet fires after rewrite. |
| 5 | Tag /pro/* as a content group | Both | Migration | Keeps history + SEO. Fire page_view once — no double-count. |
| 6 | Confirm auth + pro dimensions work — is_authenticated, is_pro, pro_member_type | GA4 | Setup | Makes it a segment inside the merged property. |
| 7 | Pro funnel steps as goals — renewal start, renewal complete, credential actions, B2B store entry | Both | Fix | is_pro is ~99.9% "(not set)" today. Fix before pro segments mean anything. |
| 8 | Next-step CTA clicks on the pro page | GTM | Setup | Pros sign in through Cognito. Fire the login event like padi.com. |
| 9 | Monitor the metrics in GA4 post-launch | Monitor | — | Next 2 months after launch. |
4.8.1.5 Club — Cloudflare routing only (club.padi.com → padi.com/club)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Merge club into the main GA4 property (same measurement ID) | GA4 | Migration | Same domain now, no cross-domain tracking needed. |
| 2 | Update the self-referral exclusion list — remove club.padi.com | GA4 | Fix | club.padi.com to padi.com/club is internal now, not a referral. |
| 3 | Set cookie_domain to auto (root .padi.com) so client_id carries over | Both | Fix | Confirm not pinned to club.padi.com. Verify _ga domain in DevTools. |
| 4 | Verify the GTM + GA4 tag fires on the proxied pages | GTM | Audit | Proxy rewrites paths and caches pages. Check the snippet fires after rewrite. |
| 5 | Map 301 redirects: old club.padi.com URLs → padi.com/club/... | Both | Migration | Keeps history + SEO. Fire page_view once — no double-count. |
| 6 | Tag the padi.com/club paths as a content group | GA4 | Setup | Makes it a segment inside the merged property. |
| 7 | Confirm auth + membership status dimensions | Both | Fix | Check member flags are populated before building club segments. |
| 8 | Track the login handoff via the data layer | GTM | Setup | Fire the login event like padi.com. |
| 9 | Capture funnel steps as events | Both | Setup | — |
| 10 | CTA clicks by content branching and domain branching | Both | Setup | — |
| 11 | Monitor the metrics in GA4 post-launch | Monitor | — | Next 2 months after launch. |
Feb 2027 — Store redesign + Mobile
With the B2C Store redesign live, this phase builds out the full commerce funnel as GA4 events and goals — the deeper rebuild deferred from the lighter November routing work. Mobile apps come online with Firebase-based tracking, separate from the GTM web implementation.
4.8.2.1 Store — redesign go-live (ecommerce events)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | view_item_list — category/product list page | Both | Setup | Funnel step. User lands on a product list. |
| 2 | view_item — product page | Both | Setup | Funnel step. Product detail page. |
| 3 | add_to_cart | Both | Setup | Funnel step. CRO found a ~78% drop in product-to-cart. |
| 4 | begin_checkout | Both | Setup | Funnel steps into checkout. |
| 5 | add_payment_info | Both | Setup | Funnel step inside checkout. |
| 6 | purchase — protect the existing event stack | Both | Fix | Do not break what already fires. This is the revenue event. |
| 7 | Set the e-commerce steps as goals in GA4 | GA4 | Setup | Lets us work out the store funnel + drop-off rates. |
| 8 | Item-scoped tracking by itemId for product-level CVR | GA4 | Setup | More reliable than funnel reports, which sample at ~37%. |
| 9 | Track login via the data layer | GTM | Setup | Store forces login — no guest checkout. Fire the login event. |
| 10 | Track account creation via the data layer | GTM | Setup | dataLayer push on signup complete. |
| 11 | CTA clicks — common click class, name into the label | Both | Setup | Same scheme as padi.com. |
| 12 | Navigation tracking inside the store | Both | Setup | Same nav_cat / nav_sub scheme. |
| 13 | Validate the padi.com to store handoff | Both | Fix | Only 1.7% of padi.com users reach the store. The #1 leak point. |
| 14 | Stripe checkout is an external page | — | Flag | The cart can go invisible at payment. Confirm where purchase fires. |
4.8.2.2 Mobile (iOS + Android) — go-live (Firebase SDK, not GTM web)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Review the existing app data streams (iOS + Android) | GA4 | Audit | Confirm both platforms send data and which events already fire. |
| 2 | Check the Firebase SDK and automatic events | App SDK | Audit | first_open, session_start, screen_view, in_app_purchase come free. |
| 3 | Map screens — screen_view with screen_name / screen_class | App SDK | Setup | Apps use screen_view, not page_view. One per key screen. |
| 4 | Agree on the app event list with the dev team | App SDK | Setup | App events are coded via Firebase, not added in GTM. Needs a dev + release. |
| 5 | Track login + account creation | App SDK | Setup | logEvent in app code. Same names as web so they line up. |
| 6 | Ecommerce events if the app sells — view_item, add_to_cart, purchase | App SDK | Setup | Match web names. in_app_purchase is automatic — confirm it fires. |
| 7 | Set the app funnel steps as goals in GA4 | GA4 | Setup | Same as web. Lets us work out the app funnel + drop-off. |
| 8 | Set User-ID on login to join app + web users | Both | Setup | App uses app_instance_id, web uses client_id. User-ID stitches them. |
| 9 | Plan iOS App Tracking Transparency (ATT) prompt | App SDK | Setup | iOS asks permission for the ad ID. Affects ad attribution. |
| 10 | Retire tracking for screens the redesign drops | App SDK | Migration | Remove events for old screens at go-live. |
| 11 | Decide single property (web + app streams) vs separate | GA4 | Decision | One property gives a cross-platform view. |
B2B storefronts — analytics from scratch
None of the three B2B storefronts currently has analytics tracking. Americas is live today with confirmed no tracking present — verified via page source inspection and absence from PADI's existing Global GA4 property. EMEA and APAC go live in May 2027 and are assumed to have no existing tracking, following the same pattern as Americas, pending confirmation.
4.8.3.1 Americas — b2bamericas.padi.com (go-live Feb 2027; no analytics currently identified)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | No GTM or GA tag in the page source of b2bamericas.padi.com | GA4 | Audit | Checked via view-source. No client-side tracking on the page. |
| 2 | Hostname is not in the PADI Global property we have access to | GA4 | Audit | b2bamericas.padi.com does not show up in the Global hostnames. |
| 3 | Set up a new GA4 property + GTM container from scratch | Both | Setup | No tracking found today. Build it new — not in the existing property list. |
| 4 | Base events — page_view, login, account creation | Both | Setup | Start with the basics, then add the B2B funnel. |
| 5 | B2B funnel steps as goals in GA4 | Both | Setup | Define once we know the B2B journey. |
| 6 | Logged-in B2B app (behind Cognito) was not tested | — | Flag | Public landing page only. To be confirmed with PADI's Technology team. |
4.8.3.2 EMEA — b2bemea (go-live May 2027)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Set up a new GA4 property + GTM container from scratch | Both | Setup | b2bemea.padi.com. Going live May 2027. Not in the existing property list. |
| 2 | Base events — page_view, login, account creation | Both | Setup | Start with the basics, then add the B2B funnel. |
| 3 | B2B funnel steps as goals in GA4 | Both | Setup | Define once we know the B2B journey. |
| 4 | Assume no existing tracking, same as Americas | — | Flag | To be confirmed with PADI's team. |
4.8.3.3 APAC — b2bapac (go-live May 2027)
| # | Work item | GA4/GTM | Type | Note |
|---|---|---|---|---|
| 1 | Set up a new GA4 property + GTM container from scratch | Both | Setup | b2bapac.padi.com. Going live May 2027. Not in the existing property list. |
| 2 | Base events — page_view, login, account creation | Both | Setup | Start with the basics, then add the B2B funnel. |
| 3 | B2B funnel steps as goals in GA4 | Both | Setup | Define once we know the B2B journey. |
| 4 | Assume no existing tracking, same as Americas | — | Flag | To be confirmed with PADI's team. |
Two tranches — anchored to the ERP sunset
Tranche 1 assumes a 1 September 2026 start, with the 1 February 2027 go-live held fixed — compressing the runway from roughly seven months to about five. That time splits into Design + Discovery (1 September – mid-November 2026) followed by Build, Integration, QA, and Cutover (mid-November 2026 – January 2027) for both B2C and B2B NA-US+CA. B2C applies the inherited padi.com design system directly, and B2B applies PADI branding to BigCommerce's own templates (see Section 4.3.1, Section 4.4.5) — both lightweight theming passes rather than dedicated design phases, which is what makes this compressed window workable. Tranche 2 is unaffected: it's sequenced behind Tranche 1's go-live, not the original programme start, so it continues to run early February through May 2027.
| Tranche | Tracks | Discovery start | Go-live | Driver |
|---|---|---|---|---|
| Tranche 1 | B2C Store · B2B Americas + Canada | 1 September 2026 | 1st week of Feb 2027 | North America NetSuite ERP go-live; Macola retirement for North America |
| Tranche 2 | B2B EMEA · B2B APAC — design reused/extended from B2B Americas | Early Feb 2027 | 1st week of May 2027 | Regional NetSuite rollout — EMEA/APAC ERP go-live; Macola retirement for EMEA and APAC |
Club Portal isn't in either tranche above, since it's an optional add-on (see Section 4.5, Section 6). We'll plan this during discovery and align on a go-live for Club Portal modernization once its scope is confirmed to be included.
Programme estimations
Pricing below reflects the current direction across all three tracks. Each track carries a contingency budget covering Unified Cart, Unified Payments, Localization, Device Fingerprinting, and other PADI unification topics (Search, Security, etc.) still being scoped through discovery — see the callout in Section 3 and Open Decision D12.
| Item | Pricing |
|---|---|
| Design Unification | $36,000 |
| B2C continues on CommerceTools and moves to a Headless React front end | $115,400 |
| Google Analytics — GA4/GTM (setup + post go-live monitoring up to 2 months) | $13,280 |
| Contingency Budget (Unified Cart, Unified Payments, Localization, Device Fingerprinting, and any other additional PADI unification topics like Search, Security, etc.) | $15,000 |
| B2C Store total (incl. contingency budget) | $179,680 |
| Item | Pricing |
|---|---|
| Designs compatibility | $21,600 |
| BigCommerce implementation (multi-store) + OOTB BigCommerce frontend (multi-storefront) + Patchworks integration for NetSuite | $141,295 |
| Google Analytics — GA4/GTM (setup + post go-live monitoring up to 2 months) for B2B PAM, EMEA, PAP | $8,640 |
| Contingency Budget (Unified Cart, Unified Payments, Localization, Device Fingerprinting, and any other additional PADI unification topics like Search, Security, etc.) | $10,000 |
| B2B total (incl. contingency budget) | $181,535 |
The BigCommerce + Patchworks line consolidates what Section 4.4.1 documents as the evaluated options and sub-options — see that section for the full audit trail of what was considered and where PADI's Technology team's final platform decision (Open Decision D1) currently stands.
| Item | Pricing |
|---|---|
| Vue.js → React/Next.js onto the padi.com decoupled architecture + Drupal 10 → 11 upgrade | $97,737 |
| Contingency Budget (Localization, Device Fingerprinting, and any other additional PADI unification topics like Search, Security, etc.) | $8,000 |
| Club Portal total | $105,737 |
Priced on a ~320 dev + ~250 design hour basis (see Section 4.5). Re-added as a separate line item based on recent developments — not yet confirmed for build, and kept independent of the core programme total.
| Trip | Roles | Total |
|---|---|---|
| Travel 1 | 3 | $15,000 |
| Travel 2 | 3 | $15,000 |
| Travel 3 | 3 | $15,000 |
| Budgeted travel | $45,000 |
Platform decided. Several items remain.
The B2B platform decision (BigCommerce, hosted, via Patchworks) is resolved, so both the B2C Store and B2B Americas + Canada tracks are clear to build to the 1st week of February 2027 go-live. The open items below are commercial/administrative confirmations, plus two Cloudflare-routing decisions for Club and Pro — none block build start.