Sign inTry Now

Integrating with Custom Log Drain

This guide walks you through the process of implementing AI Bot Analytics using a custom integration. This method allows you to integrate with any platform or custom application by making direct HTTP requests to Writesonic's analytics endpoint.

Prerequisites

  • An active Writesonic account
  • Development access to your website or application
  • Ability to make HTTP POST requests from your server
  • Access to request headers and metadata

Phase 1: Start in Writesonic

  1. Head over to the AI Bot Analytics page on Writesonic and choose ‘Custom’ as a provider
  2. Click on ‘Continue’ to initialize the integration.
  3. Writesonic will generate a unique API key for your website.

Phase 2: Get Integration Details

Step 1: Copy the Endpoint URL

Copy the following endpoint URL that you'll use for sending analytics data: https://ingestion.writesonic.com/api/v1/analytics/ingest

Step 2: Note the Authentication Headers

You'll need to include the following header in all your requests:

  • Header Key: x-api-key
  • Header Value: Copy the API key provided by Writesonic (unique to your project)

Phase 3: Implement the Integration

Request Format

Make a POST request to the endpoint URL with the following JSON body fields:

FieldTypeDescriptionExample
ipstringThe client's IP address192.168.1.100
x_real_ipstringX-Real-IP header203.0.113.1
uastringUser-Agent header from the requestMozilla/5.0 (compatible; Googlebot/2.1)
country_codestringISO country codeUS, GB, IN
referrerstringReferrer header valuehttps://chatgpt.com/
urlstringThe requested URL pathhttps://writesonic.com/about-us
methodstringHTTP method usedPOST
x_forwarded_forstringX-Forwarded-For header chain203.0.113.1, 198.51.100.1
response_statusstringHTTP response status code200, 404, 500

Curl example

curl -X POST 'https://ingestion.writesonic.com/api/v1/analytics/ingest' \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY_HERE" \
  -d '{
    "ip": "192.168.1.1",
    "x_real_ip": "203.0.113.1", 
    "ua": "Mozilla/5.0 (compatible; Googlebot/2.1)",
    "referrer" : "https://chatgpt.com/",
    "country_code": "US", 
    "url": "https://writesonic.com/about-us",
    "method": "GET",
    "response_status": "200",
    "x_forwarded_for" : "203.0.113.1,198.51.100.1"
  }'

Phase 4: Testing and Verification

Test Your Integration

  1. Implement the code in your application
  2. Make a few test requests to your website
  3. Check that the requests are being sent to the Writesonic endpoint
  4. Monitor your application logs for any errors

Verify Installation in Writesonic

  1. Go to AI Bot Analytics Page in Writesonic.
  2. Click on "Verify Integration" to confirm that your Custom integration is working properly
  3. Once verified, you'll be redirected to your analytics dashboard. The process typically finishes in 1–2 minutes but may take up to 5 minutes.

Best Practices

Performance Considerations

  • Asynchronous Processing: Send analytics data asynchronously to avoid impacting response times
  • Error Handling: Implement proper error handling to prevent analytics failures from affecting your main application
  • Rate Limiting: Implement client-side rate limiting to avoid overwhelming the endpoint

Data Quality

  • IP Address: Use the most accurate IP address available (consider proxies and load balancers)
  • User Agent: Always include the complete User-Agent string
  • URL Normalization: Ensure URLs are properly formatted and complete

Security

  • API Key Protection: Keep your API key secure and never expose it in client-side code
  • HTTPS Only: Always use HTTPS for requests to the Writesonic endpoint
  • Data Sanitization: Sanitize user data before sending to prevent injection attacks

Troubleshooting

Common Issues

  • 401 Unauthorized: Check that your API key is correct and properly included in headers
  • 422 Unprocessable Entity: Verify that your JSON payload matches the required format
  • Network Errors: Ensure your server can make outbound HTTPS requests
  • Missing Data: Check that you're capturing all available request headers and metadata

Debugging Tips

  • Log Requests: Log the data you're sending for debugging purposes
  • Test with curl: Use curl to test the endpoint manually
  • Check Response: Always check the HTTP response code and body for error details