Dynamic Payouts are used by survey providers to allow users to complete more than one survey during a single session. Users are rewarded a different amount for each survey completion.
Dynamic Payout Campaign
Follow the steps below to start a Dynamic Payout Campaign.
- Set-up a new campaign in ACP Edge. For more details, click here.
- Under Campaign Type, select Survey Completion to activate the Dynamic Payout checkbox
- Mark
in the Budget section of Campaign Setup
- Continue Campaign setup as normal.
The default bid set or bids at micro-bidding must be equal to the total sum of the Advertiser's commission (their full payout).
Important
As these are Dynamic Payouts, the Advertiser can use one campaign for all surveys. Different countries can be added to the Targeting and bids can be changed in Micro-bidding
If they are using localization, the language of the survey is changed using the [[CountryCode]] macro. Click here, for more information.
- When you have completed creating the campaign, you must implement the postback on your end.
The Advertiser must add CPID and their macros to the postback on their side. See below for more details.
Session Token (CPID) for Dynamic Payout
For advertisers to enable Dynamic Payout, they can receive their Secret Key from the left side bar under Account.
Three separate variables must be available to create a valid Session Token:
- Click ID
- Secret Key
- Nonce
The Secret key is 32 bytes of random data hex encoded that provided by your DT Account Manager.
The nonce is a random value, generated uniquely for each request by Advertiser.
Generating a Session Token (CPID)
There are three steps required to generate a CPID:
- Concatenate the Click ID and the Nonce
- Calculate HMAC-SHA256 hash hexdigest of ClickID+Nonce using the Secret Key as the HMAC secret (the Click ID goes first, followed by the nonce)
- Finally, send the Click ID, Nonce and the CPID as part of the callback:
- Click ID as
subid=
- Nonce as
nonce=
- CPID as
cpid=
Ruby Example
Follow these steps to create a Session Token:
Step 1: DT creates the Secret Key
require 'securerandom'
advertiser_secret = SecureRandom.hex(32)
Step 2: Advertiser creates a CPID
#nonce can be created however you choose provided it's url safe
nonce = SecureRandom.urlsafe_base64(48)
require 'openssl'
cpid = OpenSSL::HMAC.hexdigest(
OpenSSL::Digest.new('sha256'),
advertiser_secret,
"#{click_id}#{nonce}"
)
Step 3: Send Click ID, Nonce and CPID as part of the callback
uri = URI(
"#{FYBER_URI}/actions/v2?#{query_params}" \
"&subid=#{click_id}" \
"&nonce=#{nonce}" \
"&cpid=#{cpid}"
)
Net::HTTP.get(uri)
Country Code Macro
There is an automatic translation for each campaign, based on the language of the device and country code. For example, if geo=US, the description in English, but the device language=ES, then the campaign and description appear in Spanish (or other language).
You can use a macro [[CountryCode]] in your click URL to include the country code, and on your side, decide which language to show.
Contact your DT Account Manager about enabling Dynamic Reports.