Outcome
Let extensions action a normalized form success while independently suppressing or allowing Popup Maker conversion tracking and frontend effects.
Cross-repository parent: https://github.com/PopupMaker/Pro/issues/132
Problem
The current processing guard conflates AJAX/REST transport constraints with whether a submission may be captured, actioned, tracked as a conversion, persisted, or allowed to trigger frontend behavior. Pro needs to run server-side actions without fabricating conversions or requiring browser execution.
Scope
- Define independent decisions/phases for:
- normalize/capture;
- dispatch extension actions;
- conversion tracking;
- optional storage;
- frontend effects.
- Preserve existing behavior by default.
- Add narrowly named filters/actions rather than embedding Pro concepts.
- Make repeated delivery of the same normalized event idempotent for Core-owned tracking.
- Document server-only, AJAX, REST, redirect, and browser-success behavior.
Out of scope
- Pro action implementations.
- Submission tables or profile storage.
- Provider field schemas.
- Lead Magnet claims or delivery.
- Changing analytics definitions.
Acceptance criteria
- An extension can process a valid form submission while explicitly bypassing conversion tracking.
- Conversion tracking can run without requiring storage.
- A browser event cannot cause the same Core conversion to count twice.
- Existing Analytics and Split Testing attribution remains unchanged unless an extension opts into a new seam.
- Tests cover server callbacks, frontend callbacks, duplicate events, and opt-out combinations.
Expected PR
One Core PR after the normalized context contract.
Outcome
Let extensions action a normalized form success while independently suppressing or allowing Popup Maker conversion tracking and frontend effects.
Cross-repository parent: https://github.com/PopupMaker/Pro/issues/132
Problem
The current processing guard conflates AJAX/REST transport constraints with whether a submission may be captured, actioned, tracked as a conversion, persisted, or allowed to trigger frontend behavior. Pro needs to run server-side actions without fabricating conversions or requiring browser execution.
Scope
Out of scope
Acceptance criteria
Expected PR
One Core PR after the normalized context contract.