{
    "additionalProperties": false,
    "dependencies": {
        "cost": [
            "costModel"
        ]
    },
    "description": "Schema for an ad impression event",
    "minProperties": 1,
    "properties": {
        "advertiserId": {
            "type": "string"
        },
        "bannerId": {
            "type": "string"
        },
        "campaignId": {
            "type": "string"
        },
        "cost": {
            "minimum": 0,
            "type": "number"
        },
        "costModel": {
            "enum": [
                "cpa",
                "cpc",
                "cpm"
            ]
        },
        "impressionId": {
            "type": "string"
        },
        "targetUrl": {
            "minLength": 1,
            "type": "string"
        },
        "zoneId": {
            "type": "string"
        }
    },
    "self": {
        "format": "jsonschema",
        "name": "ad_impression",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "1-0-0"
    },
    "type": "object"
}