@gomry/analytics
v1.0.0
Published
Gomry Analytics SDK for conversion tracking in sponsored cashback campaigns
Maintainers
Readme
@gomry/analytics
Official Gomry Analytics SDK for conversion tracking in sponsored cashback campaigns.
Installation
npm install @gomry/analytics
# or
yarn add @gomry/analytics
# or
pnpm add @gomry/analyticsQuick Start
React / Next.js
// app/layout.tsx or _app.tsx
import { GomryAnalyticsProvider } from '@gomry/analytics/react';
export default function RootLayout({ children }) {
return (
<GomryAnalyticsProvider
offerId="your-offer-id"
allowedDomains={['yourdomain.com']}
>
{children}
</GomryAnalyticsProvider>
);
}// In your signup/conversion component
import { useGomryAnalytics } from '@gomry/analytics/react';
function SignUpPage() {
const analytics = useGomryAnalytics();
const handleSignUp = async (userData) => {
// Your signup logic...
const user = await createUser(userData);
// Track the conversion
await analytics.trackLead({
eventName: 'Sign Up',
customerExternalId: user.id,
});
};
return <form onSubmit={handleSignUp}>...</form>;
}Vanilla JavaScript
For non-React projects, use the script tag:
<script
src="https://www.gomry.com/analytics/script.js"
data-offer-id="your-offer-id"
data-domains='["yourdomain.com"]'
></script>
<script>
// After user completes action
window.GomryAnalytics.trackLead({
eventName: 'Sign Up',
customerExternalId: 'user-123',
});
</script>How It Works
- User clicks a Gomry cashback offer → redirected to your site with
?gomry_id=<uid> - SDK captures the
gomry_idand stores it in a first-party cookie - User completes your required action (signup, purchase, etc.)
- You call
trackLead()ortrackSale()to report the conversion - Gomry verifies and processes the cashback payout
API Reference
GomryAnalyticsProvider (React)
<GomryAnalyticsProvider
offerId="required" // Your offer ID
allowedDomains={['...']} // Domains for validation
apiHost="https://..." // Optional: custom API host
cookieExpiryDays={90} // Optional: cookie expiry
cleanUrl={false} // Optional: remove gomry_id from URL
debug={false} // Optional: enable console logging
>useGomryAnalytics()
const analytics = useGomryAnalytics();
// Get current gomry_id
const id = analytics.getGomryId();
// Track a lead conversion
await analytics.trackLead({
eventName: 'Sign Up',
customerExternalId: 'user-123',
metadata: { plan: 'premium' },
});
// Track a sale conversion
await analytics.trackSale({
eventName: 'Purchase',
orderId: 'order-456',
amount: 2999, // in cents
currency: 'USD',
customerExternalId: 'user-123',
});
// Clear the tracking cookie
analytics.clearId();Server-Side Tracking
For more secure server-side tracking, use our webhook API. See the full documentation.
License
MIT
