# ConversionEvent
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**event_name** | **String** | Standard event name (Purchase, Lead, CompleteRegistration, AddToCart, InitiateCheckout, AddPaymentInfo, Subscribe, StartTrial, ViewContent, Search, Contact, SubmitApplication, Schedule) or a custom string (only supported on platforms that accept custom events: Meta and OpenAI Ads). Per-platform behavior: - Meta: free-form; standard names match Meta's built-ins. - Google: ignored. The conversion action's category determines the type. - LinkedIn: ignored. The conversion rule's `type` is locked to the destination. - OpenAI Ads: a fixed subset of standard names (Purchase, Lead, AddToCart, ViewContent, InitiateCheckout, CompleteRegistration, Subscribe, StartTrial, Schedule) maps 1:1 onto OpenAI's own event-type enum; anything else is sent as a custom event with the name preserved. |
**event_time** | **i32** | When the conversion happened, in unix seconds. |
**event_id** | **String** | Unique dedup key. The same eventId must be used on pixel + CAPI to prevent double-counting. Mapped to event_id on Meta, transactionId on Google, eventId on LinkedIn (LinkedIn deduplicates against Insight Tag events with the same eventId; the Insight Tag event wins when both arrive). |
**value** | Option<**f64**> | Conversion value in the specified currency. | [optional]
**currency** | Option<**String**> | ISO 4217 currency code. | [optional]
**user** | [**models::ConversionEventUser**](ConversionEventUser.md) | |
**items** | Option<[**Vec<models::ConversionEventItemsInner>**](ConversionEventItemsInner.md)> | Item-level detail for ecommerce events. | [optional]
**source_url** | Option<**String**> | URL where the conversion originated (used by Meta). | [optional]
**action_source** | Option<**ActionSource**> | Where the conversion happened. Used by Meta. Google also requires an event source internally; omitting this field sends OTHER to Google. Send an explicit value for accurate origin reporting. (enum: web, app, offline, crm, phone_call, system_generated) | [optional]
**platform_data** | Option<**std::collections::HashMap<String, serde_json::Value>**> | Escape hatch for platform-specific fields we haven't normalized. On Meta, keys are shallow-merged into `custom_data` only: fields Zernio already builds (`value`, `currency`, `contents`, `num_items`) always win on collision, and `user_data` (hashed match keys) is never touched. Use first-class fields (e.g. `user.leadId`) for anything that must reach `user_data`. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)