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
Create Project
Go to Dashboard and create a new project with your URL.
Copy Snippet
Get the unique JavaScript SDK snippet.
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
<!-- 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.
- Go to your WordPress Dashboard -> Plugins -> Add New.
- Search for Moxu and click Install Now, then Activate.
- Navigate to the new Moxu menu item in your sidebar.
- Paste your Project ID:
YOUR_PROJECT_IDinto 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.
- From your Shopify admin, go to Online Store -> Themes.
- Find your current theme, click the ... button, and select Edit code.
- In the Layout folder, click
theme.liquid. - Scroll down to the bottom of the file and paste the HTML snippet just before the closing
</body>tag. - Click Save.
4. React / Next.js
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.
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.
- Go to Dashboard -> Settings -> Domains.
- Enter your custom domain (e.g.,
links.yourbrand.com). - Update your DNS settings at your domain registrar by adding the provided CNAME or A Record.
- 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
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.
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.