Hybrid Architecture
This domain tests how mParticle collects and reconciles data when a product is not one native binary: a native shell wrapping web content, a cross-platform runtime, or a client SDK paired with server-side event submission. The exam expects one user profile and one event vocabulary across those layers.
Where hybrid appears
- A native iOS or Android app hosting a WKWebView/WebView that runs the mParticle Web SDK.
- React Native, Flutter, or Cordova apps using mParticle kits that bridge to the native SDKs.
- A client SDK plus server-to-server events sent through mParticle's Events API.
- Web and native surfaces used by the same logged-in customer.
Core rules
- The native SDK should own identity. Read the MPID from the native layer and pass it, with known identities, into the web view before it logs anything, so the Web SDK attaches to the same profile instead of minting a second anonymous user.
- Assign each event to exactly one owner. If checkout runs in the web view, log the commerce event there only; do not also log it natively.
- Server events must carry the same identifiers (MPID, customer ID, or email) as client events.
- Every input needs the same event names and attributes defined in the data plan.
Worked example
A retailer moves checkout into a web view. The native app identifies the user with a customer ID and receives an MPID. It injects that MPID into the page and calls the Web SDK identify API. The web view logs Checkout Complete; the native layer logs only app-level events. Result: one profile, one purchase, a clean funnel.
Traps
- Letting the web view fire events before identity sync, creating an orphan anonymous profile.
- Double-logging the same action in both layers.
- Using different event names client-side and server-side, which splits reporting.