/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
 *
 * The version of the OpenAPI document: 1.0.4
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ConversionEventUserClickIds : Platform click identifiers captured from the originating ad click.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ConversionEventUserClickIds {
    /// Meta click ID (from fbclid URL param).
    #[serde(rename = "fbc", skip_serializing_if = "Option::is_none")]
    pub fbc: Option<String>,
    /// Meta browser ID (_fbp cookie).
    #[serde(rename = "fbp", skip_serializing_if = "Option::is_none")]
    pub fbp: Option<String>,
    /// Google click ID (from gclid URL param).
    #[serde(rename = "gclid", skip_serializing_if = "Option::is_none")]
    pub gclid: Option<String>,
    /// Google iOS 14.5+ app attribution ID.
    #[serde(rename = "gbraid", skip_serializing_if = "Option::is_none")]
    pub gbraid: Option<String>,
    /// Google iOS 14.5+ web-to-app attribution ID.
    #[serde(rename = "wbraid", skip_serializing_if = "Option::is_none")]
    pub wbraid: Option<String>,
    /// LinkedIn first-party ad tracking click ID. Captured by parsing `li_fat_id` from landing-page URLs after the advertiser enables enhanced conversion tracking on the LinkedIn Insight Tag. Sent to LinkedIn as the LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID userId. Opaque token, not hashed.
    #[serde(rename = "li_fat_id", skip_serializing_if = "Option::is_none")]
    pub li_fat_id: Option<String>,
}

impl ConversionEventUserClickIds {
    /// Platform click identifiers captured from the originating ad click.
    pub fn new() -> ConversionEventUserClickIds {
        ConversionEventUserClickIds {
            fbc: None,
            fbp: None,
            gclid: None,
            gbraid: None,
            wbraid: None,
            li_fat_id: None,
        }
    }
}
