Server SDK

Node.js Integration

Track server-side events from your Node.js backend with our simple HTTP API.

Basic Setup

Create a tracking function to send events to Phi Analytics:

JavaScript
const trackEvent = async (eventName, metadata = {}) => {
  try {
    await fetch('https://phi.llc/api/phi/track', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        website_id: 'your-website-id',
        event_name: eventName,
        url: 'server-side',
        metadata: metadata
      })
    });
  } catch (error) {
    console.error('Phi Tracking Failed:', error);
  }
};

// Example usage
trackEvent('UserSignedUp', { plan: 'premium' });

Express.js Middleware

Track API requests automatically with Express middleware:

Express
app.use((req, res, next) => {
  const startTime = Date.now();
  res.on('finish', () => {
    const duration = Date.now() - startTime;
    trackEvent('ApiRequest', {
      path: req.path,
      statusCode: res.statusCode,
      duration: duration
    });
  });
  next();
});

Performance

  • Fire-and-forget: Don't await tracking calls in critical paths.
  • Env Vars: Store your website_id in your environment variables.