RFC: Platform-level UTM attribution support for authenticated MFE users

Hello community,

I’d like to start a discussion around a gap I’ve encountered with UTM attribution for authenticated users in MFEs.

Background

Open edX currently captures UTM parameters for many unauthenticated user flows because Django receives the initial request.

However, when an already-authenticated learner lands directly on an MFE page from an external campaign link, the page is rendered client-side and Django never sees the initial page load. As a result, UTM parameters present in the URL may never reach backend services.

In this scenario:

1. The user is already logged in.

2. The MFE loads directly.

3. UTM parameters exist in the browser URL.

4. No platform-level mechanism currently transports those values to backend services.

Current Workarounds

The options today seem to be:

- Implement UTM capture separately in each MFE.

- Rely solely on third-party analytics platforms.

- Propagate query parameters through internal navigation.

Each approach introduces additional maintenance and duplication.

GitHub Issue

I’ve opened a GitHub issue with more detailed context and a proposed implementation approach:

GitHub Issue: Add platform-level UTM capture support for authenticated MFE users · Issue #892 · openedx/frontend-platform · GitHub

Questions for the Community

  • Does this seem like a platform-level concern that belongs in `frontend-platform`?
  • Are there existing attribution-related initiatives I should be aware of?
  • Would a generic capture-and-forward mechanism be acceptable, leaving storage and attribution modeling to backend implementations?
  • Are there privacy, security, or architectural concerns with this approach?

I’d appreciate feedback from maintainers and operators who have dealt with marketing attribution, learner acquisition campaigns, or analytics integrations.

Thanks!

1 Like