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.
Updated 16 days ago