api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.md
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [AdImpressionEvent](./node-tracker.adimpressionevent.md)
## AdImpressionEvent interface
An Ad Impression Event Used to track an advertisement impression
<b>Signature:</b>
```typescript
interface AdImpressionEvent
```
## Remarks
If you provide the cost field, you must also provide one of 'cpa', 'cpc', and 'cpm' for the costModel field.
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [advertiserId?](./node-tracker.adimpressionevent.advertiserid.md) | string | <i>(Optional)</i> Identifier for the advertiser which the campaign belongs to |
| [bannerId?](./node-tracker.adimpressionevent.bannerid.md) | string | <i>(Optional)</i> Identifier for the ad banner being displayed |
| [campaignId?](./node-tracker.adimpressionevent.campaignid.md) | string | <i>(Optional)</i> Identifier for the advertiser which the campaign belongs to |
| [cost?](./node-tracker.adimpressionevent.cost.md) | number | <i>(Optional)</i> Advertisement cost |
| [costModel?](./node-tracker.adimpressionevent.costmodel.md) | "cpa" \| "cpc" \| "cpm" | <i>(Optional)</i> The cost model for the campaign |
| [impressionId?](./node-tracker.adimpressionevent.impressionid.md) | string | <i>(Optional)</i> Identifier for the particular impression instance |
| [targetUrl?](./node-tracker.adimpressionevent.targeturl.md) | string | <i>(Optional)</i> The destination URL of the advertisement |
| [zoneId?](./node-tracker.adimpressionevent.zoneid.md) | string | <i>(Optional)</i> Identifier for the zone where the ad banner is located |