Manual Form

Using manual form tracking script to send conversion events to Ruler Analytics

Overview

Ruler manual tracking works by constructing a JavaScript object (RAConv) containing your form data and passing it to:

RulerAnalytics.trackConversionAsync(RAConv, "", "", 500);

This payload is fully customisable and allows you to send any relevant form data captured on your website. See an example of a payload below.

Payload Structure

var RAConv = {
  first_name: "John",
  last_name: "Doe",
  email: "[email protected]",
  phone: "07123456789",
  company: "Example Ltd",
  form_type: "contact_form"
};
RulerAnalytics.trackConversionAsync(RAConv, "", "", 500);

Required Data

At least one unique identifier is recommended such as ,:

  • email (recommended)
  • phone
  • orderID
  • UniqueID

Ruler uses this to match conversions back to users and marketing sessions and tie your website data with your offline data captured within your CRM. Events can be sent without an identifier, but this limits your offline data match back capabilities.

Rulers payload is customisable and any value available in the DOM, backend, or URL can be passed into the payload.

Format Recommendations

  • Use snake_case for keys
  • Avoid spaces or special characters within payload keys
  • Keep naming of field keys consistent across forms, Keys are treated as unique fields in Ruler and changing a key name creates a new field in reporting.

Accepted Data Types

Ruler accepts:

  • Strings (most common)
  • Numbers
  • Email Addresses

Validation Rules

There is no strict schema validation is enforced by Ruler and payloads are accepted “as-is”. This means incorrect formats (e.g. invalid email strings) may still be accepted, so data cleanliness is the responsibility of your implementation.

Payload Structure Rules Flat Structure Only - Ruler does not support nested objects or arrays. All data must be sent as simple key - value pair.

Limits

There are no strictly enforced limits, however best practice is:

  • Keep payloads under ~50 fields
  • Keep key names under ~50 characters
  • Avoid excessively large string values (>1–2KB per field)

If you have any questions, please get in touch with a member of the team today.