Skip to main content

1. What exactly is MCX Push?

MCX Push is a for Salesforce Marketing Cloud that allows you to send web push notifications directly to your customers’ desktops and Android devices. It functions as a powerful, direct-to-customer channel without the need to build, manage, or maintain a native mobile app.

2. How is this different from just building our own native app?

MCX Push is fundamentally faster and more cost-effective. Native apps require separate, expensive development projects for iOS and Android, followed by slow and unpredictable App Store approvals for every update. MCX Push bypasses this entirely by leveraging your existing website, allowing you to launch a push notification channel in minutes, not months, and at a fraction of the cost.

3. Do my customers need to download anything to receive notifications?

No. That’s the biggest advantage. Customers can opt-in to receive notifications with a single click directly from their browser on your website. There are no apps to find, download, or update.

4. Which devices and browsers are supported?

Web push notifications are supported by all major desktop browsers (Chrome, Firefox, Safari, Edge) and on all Android devices. Due to limitations set by Apple, web push is not currently supported on iOS (iPhones and iPads).

5. How does this integrate with Salesforce Marketing Cloud?

MCX Push integrates seamlessly into Journey Builder, appearing just like a native activity. You can drag and drop it into any journey, write your message with a live preview, and use the Salesforce tools you already know to target and send your campaigns. There is zero learning curve for your team.

6. Is MCX Push secure and ready for enterprise use?

Yes, absolutely. MCX Push has passed the rigorous Salesforce security review, ensuring it meets the highest standards for data protection. Our architecture has also been enterprise-load tested and is proven to handle over a million notifications in a single send, making it a reliable solution for even the largest audiences.

7. What is the setup process like?

It’s a simple three-step process designed to get you live in minutes:
1

Install & Connect

Install the app from the AppExchange and add one line of JavaScript to your site.
2

Build Your Journey

Drag the MCX Push activity into Journey Builder.
3

Activate & Engage

Click “Activate,” and we handle the rest.

8. Why isn’t the PWA Installation Banner showing on some pages?

The installation banner only appears on pages that meet the browser requirements for . Make sure each page that needs the prompt includes:
  • A link to your manifest.json file
  • A reference to the mcx-push.js script
You can copy the code snippets from the Import Scripts section of the MCX Push Dashboard, or check the Getting Started with MCX Push guide.

9. How do I resolve “Property ‘mcxPush’ does not exist on type “Window’” errors in TypeScript?

Because mcxPush is injected into the global scope via an external script (rather than imported as a library), TypeScript is unaware of its existence at compile time. To fix this, you must explicitly inform TypeScript that mcxPush exists on the global window object. You can do this by extending the Window interface in a definition file (e.g., global.d.ts or inside your component):
declare global {
  interface Window { mcxPush: any; }
}

window.mcxPush.showAppInstallPrompt();

10. Why is mcxPush undefined when I try to call a function?

This is a timing issue (race condition). The mcx-push.js script loads asynchronously to prevent slowing down your page load. If your website tries to run a command (like showAppInstallPrompt) before the script has finished downloading and initializing, the mcxPush object won’t exist yet. To fix this, you should always guard your calls or wait for the window to fully load. Option 1: Ensure the object exists before use
// Check if mcxPush is ready
if (window.mcxPush) {
  window.mcxPush.showAppInstallPrompt();
} else {
  console.warn("MCX Push is not loaded yet.");
}
Option 2: Wait for Page Load
window.addEventListener('load', function() {
  if (window.mcxPush) {
    window.mcxPush.showAppInstallPrompt();
  }
});