Documentation v2.1

The Universal App Engine.

Moxu is an all-in-one platform that brings native-app capabilities to the web. From zero-code Link-in-Bio pages to advanced REST APIs for sending cross-platform Push Notifications, Moxu scales from absolute beginners to enterprise development teams.

For Creators

Use the "My Page" builder to instantly spin up a mobile-optimized bio link, sell digital products via Stripe, and capture an audience—no coding required.

For Developers

Inject our JS SDK into your Next.js or React app to get instant iOS Web Push, custom event tracking, and programmable webhooks.

Quick Start

1

Create Project

Go to Dashboard and create a new project with your URL.

2

Copy Snippet

Get the unique JavaScript SDK snippet.

3

Paste & Deploy

Add to your website's footer and deploy.

Core Concepts

Audiences

Every visitor who accepts notifications becomes part of your audience. You can segment them using tags and target them with personalized campaigns.

Events & Tracking

Track user actions like purchases or page views. Use these events to trigger automated webhooks or segment users based on their behavior.

Platform Guides

1. HTML / Custom Website

index.html
<!-- Moxu Core SDK -->
<script src="https://moxu.app/sdk/loader.js" 
        data-project-id="YOUR_PROJECT_ID_HERE"
        defer>
</script>

2. WordPress

Integrating Moxu with WordPress is incredibly simple. Use our official plugin or manually insert the snippet.

  1. Go to your WordPress Dashboard -> Plugins -> Add New.
  2. Search for Moxu and click Install Now, then Activate.
  3. Navigate to the new Moxu menu item in your sidebar.
  4. Paste your Project ID: YOUR_PROJECT_ID into the settings field and save.

Alternative: You can also paste the HTML snippet directly into your theme's header.php or footer.php file, just before the closing </body> tag.

3. Shopify

Add Moxu to your Shopify store to track purchases and send abandoned cart notifications.

  1. From your Shopify admin, go to Online Store -> Themes.
  2. Find your current theme, click the ... button, and select Edit code.
  3. In the Layout folder, click theme.liquid.
  4. Scroll down to the bottom of the file and paste the HTML snippet just before the closing </body> tag.
  5. Click Save.

4. React / Next.js

layout.tsx
import Script from 'next/script'

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script 
          src="https://moxu.app/sdk/loader.js" 
          data-project-id="YOUR_PROJECT_ID"
          strategy="lazyOnload" 
        />
      </body>
    </html>
  )
}

The Page Builder

Don't have a website? No problem. The My Page builder allows you to create a high-converting landing page or Link-in-Bio site hosted by Moxu, completely free.

1. Setup Your UI

Head to the Dashboard -> My Page. Choose your hero layout, add unlimited links, and configure content blocks like Testimonials, Countdowns, and Banners.

2. Interactive Variants

Every block supports multiple UI variants. Look for the 1 2 3 dots on the section headers in the editor to instantly toggle between different structural layouts.

Selling Digital Products

Monetize your audience directly from your My Page.

  • Go to My Page -> Connect Stripe to securely link your bank account via Stripe Express.
  • Add a Product Block in the builder.
  • Upload your digital file (PDF, ZIP, Video).
  • When users purchase, Moxu handles the secure transaction, automatically emails the secure download link to the buyer, and deposits funds into your account.
Platform fees depend on your pricing tier. Free users cannot sell products. Starter users incur a 0.3% fee. Pro and Advance users pay 0% platform fees.

Analytics 101

Moxu provides built-in analytics to help you understand your audience and optimize your performance.

Page Views

Track unique visitors and overall traffic to your My Page or custom website.

Click Rates

Monitor which links and blocks are getting the most interaction from users.

Revenue

Analyze sales data, conversion rates, and total revenue for your digital products.

Custom Domains

Pro and Advance plan users can connect their own custom domain to their My Page.

  1. Go to Dashboard -> Settings -> Domains.
  2. Enter your custom domain (e.g., links.yourbrand.com).
  3. Update your DNS settings at your domain registrar by adding the provided CNAME or A Record.
  4. Click Verify. Moxu will automatically provision a free SSL certificate.

Client SDK Reference

The window.roxu object is injected globally by the loader script. Ensure you check for its existence before calling methods, or use optional chaining window.roxu?.track().

roxu.identify()

Link a Moxu anonymous session to your backend User ID. Essential for cross-device push notifications.

await window.roxu.identify('user_987654321', {
    email: 'john@example.com',
    name: 'John Doe',
    plan: 'premium'
});

roxu.tag() / roxu.untag()

Add or remove tags from the current user for audience segmentation.

// Tag user when they visit a specific category
window.roxu.tag('interested_in_shoes');

// Remove tag
window.roxu.untag('interested_in_shoes');

roxu.track() New

Track custom events and conversions. This data powers your Dashboard Analytics and can trigger automated workflows.

// Track a purchase conversion
window.roxu.track('purchase_completed', {
    order_id: 'ORD-123',
    revenue: 149.99,
    currency: 'USD',
    items: ['shoes', 'socks']
});

roxu.on(event, callback)

Listen to SDK lifecycle events to trigger your own UI logic.

window.roxu.on('subscribed', (token) => {
    console.log('User enabled push! Token:', token);
    // Hide your custom subscribe modal
});

window.roxu.on('permission_denied', () => {
    console.log('User blocked notifications.');
});

REST API & Webhooks

For Advanced Plans. Use your backend server to interact with Moxu programmatically using your Secret API Key from the Dashboard.

Authentication

All requests must include the Authorization: Bearer header.

Authorization: Bearer sk_live_YOUR_SECRET_KEY

Send Push Notification

POST https://api.moxu.app/v1/messages
curl -X POST https://api.moxu.app/v1/messages   -H "Authorization: Bearer sk_live_xxx"   -H "Content-Type: application/json"   -d '{
    "audience": {
      "user_ids": ["user_987654321"] // Or use "tags": ["vip"]
    },
    "notification": {
      "title": "Your order has shipped!",
      "body": "Track your package live.",
      "url": "https://yoursite.com/orders/123",
      "icon": "https://yoursite.com/icon.png"
    }
  }'

Webhooks

Configure a webhook URL in your dashboard to receive real-time POST requests when events happen.

Event Name Description
user.subscribed Fired when a user allows notifications.
user.unsubscribed Fired when a token is invalidated.
payment.succeeded Fired when a digital product is purchased via your Page.

Troubleshooting

Notification Permission not appearing

Browser might block it if the user dismissed it previously.

Fix: Click the "lock" icon in the address bar -> Reset Permissions -> Reload Page.

iOS Web Push not working

Remember: iOS ONLY supports Web Push if the app is added to Home Screen.

  • Open Safari on iPhone -> Share -> "Add to Home Screen".
  • Open the installed app -> Permission prompt will show.

Frequently Asked Questions

Can I use Moxu for free?

Yes! The Free plan includes access to the My Page builder, basic analytics, and community support. You only need to upgrade if you want advanced features like Custom Domains or zero-fee digital sales.

How do push notifications work on iOS?

On iOS 16.4 and later, web push notifications are supported, but the user must first add your website to their Home Screen using Safari. Once added, the app can request notification permissions just like a native app.

What file types can I sell?

You can sell PDFs, ZIP archives, EPUBs, MP4 videos, and MP3 audio files. The maximum file size depends on your pricing tier, starting at 100MB for the Starter plan.

Menu