This API request stores web conversion data such as a form, for a specific site using the HTTP method PUT. The request includes the following parameters:
AuthorizationstringRequired The authorization token for accessing the API. The header value should be set to "Bearer {your-access-token}", where {your-access-token} is the access token assigned to the user.
The data containing the conversion information to store/update. The payload should include the following parameters:
CaptureDateTimestringRequiredThe date and time the conversion was captured. Must be in ISO 8601 format. yyyy-MM-dd
VisitorIdentifierOptionsArrayRequiredAn array of visitor identifiers. Each item in the array should include the following parameters:
KeystringRequiredThe key for the visitor identifier. Accepted Keys: EmailAddress, PhoneNumber, RaId, CookieValue
ValuestringRequiredThe value for the visitor identifier.
If using the CookieValue identifier you must pass the Google Client ID without the GA.1.1 prefix. e.g. GA1.1.101961087.1756204614 should be sent as 101961087.1756204614
PayloadArrayRequiredAn array of payload. Each item in the array should include the following parameters:
KeystringRequiredThe key for the payload item.
ValuestringRequiredThe value for the payload item.
LandingPageUrlOverridestringThe Landing Page Url you would like to set for this form. If you do not set a MarketingChannelOverride then this URL will be used for attribution alongside the referrer URL.
Ensure this is a well formatted URL. e.g.https://www.ruleranalytics.com/
ReferrerUrlOverridestringThe referrer Url you would like to set for this form. If you do not set a MarketingChannelOverride then this URL will be used for attribution alongside the Landing page URL.
Ensure this is a well formatted URL. e.g.https://www.ruleranalytics.com/
MarketingChannelOverridestringThe Marketing Channel Override you would like to provide: See table below for reference values.
SourceCategoryOverridestringThe Source Category Override you would like to provide: See table below for reference values.
| Source | Marketing Channels | |
|---|---|---|
| UnMatched | NotApplicable | |
| Direct | NotApplicable | |
| Offline | NotApplicable | |
| Referral | NotApplicable | |
| NotApplicable | ||
| SMS | NotApplicable | |
| Paid, Organic, Places | ||
| Yahoo | Paid, Organic | |
| Bing | Paid, Organic | |
| Paid, Organic | ||
| Paid, Organic | ||
| Paid, Organic | ||
| Paid, Organic | ||
| Paid, Organic | ||
| YouTube | Paid, Organic | |
| TikTok | Paid, Organic | |
| Paid, Organic | ||
| Snapchat | Paid, Organic | |
| AdRoll | Paid, Organic | |
| DuckDuckGo | Paid, Organic | |
| Outbrain | Paid | |
| StackAdapt | Paid | |
| Awin | Paid | |
| Klaviyo | Paid | |
| Criteo | Paid | |
| Impact | Paid | |
| ShareASale | Paid | |
| Taboola | Paid | |
| TheTradeDesk | Paid | |
| Journey | NotApplicable | Note that this source will join the form onto an existing touchpoint if one is found to match. Other sources will create a new touchpoint. | 
| Custom Source | Custom | Use this method when you want to upload to one of your custom sources. Replace Custom Source with the name of your source | 
| ChatGPT | Organic | 
The {your-access-token} parameter in the authorization header should be replaced with the appropriate access token.
curl -X PUT \ 'https://rest.rulerapi.com/v1/{siteId}/conversion/web/upload' \ -H 'Authorization: Bearer {your-access-token}' \ -H 'Content-Type: application/json' \ -d { "CaptureDateTime": "{captureDateTime}", "VisitorIdentifierOptions": [{ "Key": "{key}", "Value": "{value}" }], "Payload": [{ "key": "{key}", "value": "{value}" }], "MarketingChannelOverride" : "{marketingChannelOverride}", "SourceCategoryOverride": "{sourceCategoryOverride}", "LandingPageUrlOverride": "{landingPageUrlOverride}", "ReferrerUrlOverride": "{referrerUrlOverride}" }