Enable Postbacks

Event Notification Postbacks are standard HTTP notifications that can notify you when an action, click, or other event occurs. Event Postbacks can be configured to feed event data into your internal reporting systems, giving an up-to-date view of your events.

View Event Notification Postbacks

  1. From the left navigation menu, select  
     [Menu] → Settings.
  2. On the left, under Technical, select Event Notifications.

Enable Event Postbacks

The instructions below will help you configure the four types of Event Postbacks.

  • Action Lifecycle Events will issue an HTTP request to a specified URL (and any included parameters) when an action is tracked, modified, or reversed.
  • Tracking Value Request Events will issue an HTTP request to a specified URL (and any included parameters) when tracking requests are created.
  • Action Clearing Events will issue an HTTP request to a specified URL (and any included parameters) when actions are cleared.
  • Action Inquiry Events will issue an HTTP request to a specified URL (and any included parameters) when action inquiries are created or resolved.
  1. From the Event Notification Postbacks screen, hover over the  heading you want to enable and select
    [Edit] on the right side.
  2. Add the URL that impact.com should use for Event Postbacks, along with any optional parameters in the URL. Refer to the section below for a full list of these parameters and an example URL (for the GET method).
  3. Using the HTTP Method: GET is the recommended option, as optional parameters can be passed directly in the URL. Select POST if instead your system requires impact.com to submit the data in a request body.
    • If you use the POST method, select the Body Format from the radio dials.
  4. Select Save to complete the process.

🚧

Note

Step 3 does not apply to Action Inquiry Events—the query strings are selected using checkboxes instead.

Event Postback example

GET method

[https://www.someadvertiser.com?myCampaignId=]{}{CAMPAIGNID}&theMpId={MEDIAPARTNERID}&theActionId={ACTIONID}&status={STATUS}&lockingDate={LOCKINGDATE}&mpPayout={PAYOUT}&saleAmt={AMOUNT}

Notice the properties defined within curly brackets. The actual request will be for the URL (assuming corresponding parameter values):

https://www.myadvertiser.com?myCampaignId=1000&theMpId=900&theActionId=12323&status=PENDING&lockingDate=2015-01-01&mpPayout=50.00&saleAmt=100.00

POST method

\{"Action Life Cycle Postback",
  "campaign_id": "{CampaignId}",
  "action_tracker_id": "{ActionTrackerId}",
  "media_partner_id": "{MediaPartnerId}",
  "campaign_name": "{CampaignName}",
  "action_tracker_name": "{ActionTrackerName}",
  "media_partner_name": "{MediaPartnerName}",
  "action_type": "{ActionType}",
  "referring_type":  "{ReferringType}",
  "action_id": "{ActionId}",
  "status": "{Status}",
  "status_detail": "{StatusDetail}",
  "ad_id": "{AdId}",
  "payout": "{Payout}",
  "delta_payout": "{DeltaPayout}",
  "intended_payout": "{IntendedPayout}",
  "amount": "{Amount}",
  "delta_amount": "{DeltaAmount}",
  "intended_amount": "{IntendedAmount}",
  "currency": "{Currency}",
  "original_currency": "{OriginalCurrency}",
  "original_amount": "{OriginalAmount}",
  "event_date": "{EventDate}",
  "creation_date": "{CreationDate}",
  "locking_date": "{LockingDate}",
  "cleared_date": "{ClearedDate}",
  "referring_domain": "{ReferringDomain}",
  "landing_page_url": "{LandingPageUrl}",
  "ref_customer_area": "{RefCustomerArea}",
  "ref_customer_city": "{RefCustomerCity}",
  "ref_customer_region": "{RefCustomerRegion}",
  "ref_customer_country": "{RefCustomerCountry}",
  "shared_id": "{SharedId}",
  "sub_id1": "{SubId1}",
  "sub_id2": "{SubId2}",
  "sub_id3": "{SubId3}",
  "text_1": "{Text1}",
  "text_2": "{Text2}",
  "promo_code": "{PromoCode}",
  "items": [{join(items, i, "\{\"sku\":\"{i.sku}\",\"item_price\":{i.amt},\"category\":\"{i.cat}\",\"quantity\":{i.qty},\"cartamt\":{i.cartamt},\"rbt\":\"{i.rbt}\",\"name\":\"{i.name}\",\"category_list\":\"{i.itemlist}\"\}")}]
\}

Optional parameters for Event Postbacks

Query String Description
{CampaignId} Campaign ID
{ActionTrackerId} Event Type ID
{MediaPartnerId} Partner ID
{CampaignName} Campaign Name
{ActionTrackerName} Event Type Name
{MediaPartnerName} Partner Name
{ActionId} Action ID
{Status} Action Status
{StatusDetail} More details about the action status, for example the reason for an action modification
{AdId} Ad ID
{Payout} Action payout to the Partner, in the Partner currency.
{DeltaPayout} The change of the Payout Amount
{IntendedPayout} The intended Payout Amount for an overlimit action
{Amount} Action amount, in the advertiser's currency. Only applicable for sale actions.
{DeltaAmount} Corrected Amount from previous action.
{IntendedAmount} The intended Sale Amount for an overlimit action
{Currency} Currency for the action
{OriginalCurrency} Original (i.e. cart) currency for the action
{OriginalAmount} Original (i.e. cart) amount for the action
{EventDate} The date of when the conversion took place
{EventDateUnix} In the unix timestamp
{EventDate_yyyymmdd_hhmm} In the format of 20200510_2210
{CreationDate} The date the action is created in the system
{LockingDate} Date, in advertiser timezone, when the action will be locked.
{ClearedDate} Date, in advertiser timezone, when the action will be cleared.
{ReferringDomain} Domain where the referral took place (if online)
{LandingPageUrl} Url of landing page (if online)
{RefCustomerArea} Customer Area, derived from IP address
{RefCustomerCity} Customer City, derived from IP address
{RefCustomerRegion} Customer Region, derived from IP address
{RefCustomerCountry} Customer Country Code, derived from IP address
{SharedId} A value that a Partner can include in the click URL which becomes available to your advertisers
{PromoCode} Promo code
{CustomerStatus} Customer status
{CustomerId} Customer ID
{Oid} Order ID
{Note} A note supplied with the reported action
{CustomerPostCode} Customer Post Code
{CustomerCity} Customer City, supplied with the reported action
{CustomerCountry} Customer Country Code, supplied with the reported action
{CustomerRegion} Customer Region, supplied with the reported action
{CustomerEmail} Hashed Customer Email, supplied with the reported action
{IpAddress} IP Address of the device
{CallerId} Phone number of the caller
{Text1} Supplied with the reported action
{Text2} Supplied with the reported action
{Text3} Supplied with the reported action
{Date1} Supplied with the reported action
{Date2} Supplied with the reported action
{Date3} Supplied with the reported action
{Money1} Supplied with the reported action
{Money2} Supplied with the reported action
{Money3} Supplied with the reported action
{Numeric1} Supplied with the reported action
{Numeric2} Supplied with the reported action
{Numeric3} Supplied with the reported action
{OriginalOrderTax} Tax for order in cart currency
{OriginalOrderShipping} Shipping for order in cart currency
{OriginalOrderDiscount} Discount in cart currency
{ActionType} REGULAR, CALL, CPC, INQUIRY
{IpAddress} IP address of winning referrer
{CallerId} Caller ID
{ActionModificationId} Unique ID of modification event
{SubId1} Sub ID 1 of the winning referrer
{SubId2} Sub ID 2 of the winning referrer
{SubId3} Sub ID 3 of the winning referrer
{SharedId} Shared ID of the winning referrer
{ClickID} Click of winning referrer
{RefUUID} Unique ID of winning referrer
{RefBidKeyword} Value of bid keyword parameter
{ReferringType} CLICK_COOKIE, CLICK_FINGERPRINT, CALL, PROMOCODE, PPC, ACTION, PAYABLE_EVENT, REPORTED_PARTNER_ID, IMPRESSION_FINGERPRINT, IP_ADDRESS, ACTION_INQUIRY, MOBILE
{RefEventDate} Event date of winning referrer
{RefEventDateUnix} Unix event date of winning referrer
{RefTrafficCat} Traffic category of the winning referrer
{RefTrafficSrc} Traffic source of the winning referrer
{RefAdId} Value of {AdId} parameter
{RefAdNetwork} Ad network of the winning referrer
{RefAdCampaign} Ad campaign of the winning referrer
{RefAdName} Ad name of the winning referrer
{RefAdType} Ad type of the winning referrer
{RefParam1} Param 1 value of the winning referrer
{RefParam2} Param 2 value of the winning referrer
{RefParam3} Param 3 value of the winning referrer
{RefParam4} Param 4 value of the winning referrer
{UserAgent} Conversion user agent
{RefUserAgent} Referral user agent
{Event} Event code from the event conversion parameter
{EventName} Mobile event name
{appPackage} Mobile app package
{appName} Mobile app name
{appVersion} Mobile app version
{deviceOs} Device operating system
{deviceOsVersion} Device operating system version
{deviceManuf} Device manufacturer
{deviceModel} Device model
{macAddress} MAC Address in upper case
{macAddressLower} MAC Address in lower case
{macAddressAlpha} MAC Address without colons
{macAddressAlphaLower} MAC Address without colons lower case
{macAddressSha1} MAC Address hashed using SHA1
{macAddressSha1Lower} MAC Address lower case and hashed using SHA1
{macAddressMd5} MAC Address hashed using MD5
{macAddressMd5Lower} MAC Address lower case and hashed using MD5
{iosIfa} iOS advertising identifier
{iosIfaSha1} iOS advertising identifier hashed using SHA1
{iosIfaMd5} iOS advertising identifier hashed using MD5
{iosIfaNoHyphens} iOS advertising identifier without hyphens
{iosAdTracking} iOS Ad Tracking setting
{androidId} Android ID
{androidIdSha1} Android ID hashed using SHA1
{androidIdMd5} Android ID hashed using MD5
{odin1} SHA-1 hash of the MAC address of a phone?s wifi adapter
{openUdid} OpenUDID of device
{deviceId} Device ID
{deviceIp} Device IP

Item-level parameters

If you collect item-level data for actions, you can also have this data included in your Action Lifecycle Event notifications.

"join" is a function that takes 3-5 arguments, first is the collection, second is a symbol to bind to each value in the collection, third is the expression to compute for each member of the collection, fourth is the optional separator between each expression (default is comma), the fifth is an optional leadin, which will be present only if there is data in the collection. The example results below assume 3 items with SKUs being GH23, UT66, and RW87 respectively.

"items" is a collection of item data. Each item has "cat", "sku", "qty", "amt", "rbt", "name"...

Expression Result
{join(items, i, "sku{i}={i.sku}", "&", "?")} ?sku1=GH23&sku2=UT66&sku3=RW87
{join(items, i, "cat{i}={i.cat}", "&", "?")} ?cat1=Watches&cat2=Shoes&cat3=Hats
{join(items, i, "subcat{i}={i.subcat}", "&", "?")} ?subCat1=Tag&subCat2=Nike&subCat3=Fedora
{join(items, i, "qty{i}={i.qty}", "&", "?")} ?qty1=3&qty2=4&qty3=11
{join(items, i, "amt{i}={i.amt}", "&", "?")} ?amt1=2.92&amt2=99.32&amt3=4.99
{join(items, i, "cartamt{i}={i.cartamt}", "&", "?")} ?cartamt1=50.01&cartamt2=23.89&cartamt3=34.00
{join(items, i, "rbt{i}={i.rbt}", "&", "?")} ?rbt1=1.00&rbt2=5.00&rbt3=1.50
{join(items, i, "name{i}={i.name}", "&", "?")} ?name1=1.00&name2=5.00&name3=1.50
{join(items, i, "promo{i}={i.promo}", "&", "?")} ?promo1=HAPPY&promo2=H10DAY&promo3=NOW30
{join(items, i, "price{i}={i.price}", "&", "?")} ?price1=1.70&price2=2.00&price3=0.00
{join(items, i, "brand{i}={i.brand}", "&", "?")} ?brand1=lulu&brand2=NB&brand3=impact
{join(items, i, "discount{i}={i.disc}", "&", "?")} ?discount1=2.00&discount2=0.50&discount3=10.00
{join(items, i, "itemlist{i}={i.itemlist}", "&", "?")} ?itemlist1=accessories&itemlist2=apparel&itemlist3=games