Bulk Creating and Updating Offers

You can quickly migrate many offers from another system into your network by using our Import Offers feature. This feature takes a comma-separated values (CSV) file, which you can create with a spreadsheet program (like Microsoft Excel), and CSV file editor, or a simple text editor.

The steps for importing new offers and updating existing offers are slightly different. The list of all available offer fields is available in the List of Offer Fields section.

Bulk Creating New Offers

The first step is to create a CSV file, with the header row containing the fields you have information for. There are six required fields for new offers, shown in the example header row below. You can add any of the other few dozen fields to your header, if you have data for them.


You can also download that header as a basic template:

Download import new offers template

Tip: The order the fields appear in doesn’t matter.

Once you create the CSV file, input your offer information into it. If you use a date field, see our note on Using Date Fields in Spreadsheets.

Bulk Updating Existing Offers

To update offers in bulk, you also create a CSV file as described in the above section. The header row works differently, though: you must include the “id” field, so you can tell TUNE which offers to update, then include the fields you want to update for all of the offers in that file.

Note: If you don’t include the “id” field, TUNE assumes you want to create new offers instead of update existing ones.

For example, if you want to change the status of a few offers from “pending” to “active”, your CSV file would look like:


Tip: If you’re planning to update a significant number of existing offers, consider exporting your offers as a CSV file to modify and re-upload.

Uploading Your Data

To import or update offers, go to the Company menu, and click on Customize Application. On the Customize Application page, scroll down until you reach the Import Data section, then click on Offers.

On that page, attach the file and click Upload. Once submitted, the file will begin processing. Depending on the volume of changes, the import can take up to 30 minutes to process. Once completed, you will see a new “Import Complete” notification on your Snapshot page.

If the message says any offers failed to save: Click on that message to see details of which offers didn’t get processed along with why. If you can’t see how to correct the problem in your CSV file, contact our customer support and have your CSV file and this error message available.

List of Offer Fields

Fields marked with * are required for new offers, and optional for existing offers.
Fields marked with ** are required for updating offers, and should not be included for new offers.
All other fields are optional. Do not include the * symbols when making your header rows.

Column NameDescriptionAccepted ValuesExample
name *Name of the offerUp to 255 charactersOffer name
description *Description of offerUp to 65,535 charactersThis is an offer description
offer_url *URL to the default landing page of the offerAny URL (http:// included) along with defined macroshttp://example.com?trans={transaction_id}
preview_url *URL to preview landing pageAny URL (http:// included)http://example.com
expiration_date *Date and time the offer will expire (in UTC, not network time)YYYY-MM-DD HH:MM:SS
(See note below)
2020-01-31 23:59:59
status *Status of the offeractive‘, ‘pending‘, ‘paused‘, ‘deletedactive
id **ID of the offer if you are updating offers via CSVNumeric ID of offer42
advertiser_idID of advertiser accountnumeric ID of existing advertiser20
protocolProtocol for conversion trackinghttp‘ – HTTTP iFrame pixel
https‘ – HTTPS iFrame pixel
http_img‘ – HTTP Image pixel
https_img‘ – HTTPS Image pixel
server‘ – Server postback w/ transaction_id
server_affiliate‘ – Server postback w/ partner ID
currencyThree character symbol of the country currencySee list of options hereUSD
payout_typeHow partners are compensated recorded as costcpa_flat‘ – Cost per Conversion (CPA)
cpa_percentage‘ – Cost per Sale (CPS)
cpa_both‘ – Cost per Conversion + Cost per Sale (CPA + CPS)
cpc‘ – Cost per Click (CPC)
cpm‘ – Cost per Thousand Impressions (CPM)
revenue_typeHow advertisers will pay recorded as revenuecpa_flat‘ – Revenue per Conversion (RPA)
cpa_percentage‘ – Revenue per Sale (RPS)
cpa_both‘ – Revenue per Conversion + Revenue per Sale (RPA + RPS)
cpc‘ – Revenue per Click (RPC)
cpm‘ – Revenue per Thousand Impressions (RPM)
default_payoutThe flat rate payout set for the offerMonetary value with two decimal places. commas or decimals accepted5.00
percent_payoutThe percentage payout to a partner for a saleWhole percentage number (no ‘%’ symbols is passed)25
max_payoutThe flat rate revenue set for the offerMonetary value with two decimal places. commas or decimals accepted7.00
max_percent_payoutThe percentage of a sale collected as revenueWhole percentage number (no ‘%’ symbols is passed)30
tiered_payoutTurns on tiered payouts for offer. Each tiers’ payout + revenue must be set in app1 (enabled) or 0 (disabled)0
is_privateEnables offer to be private1 (enabled) or 0 (disabled)0
redirect_offer_idID of the offer to redirect to when paused/expiredNumeric ID of offer44
converted_offer_idID of the offer to redirect to if user has already convertedNumeric ID of offer44
converted_offer_urlCustom URL to redirect to when user has already convertedAny URL (‘http://’ included) along with defined macroshttp://othersite.com
conversion_capNumber of daily conversions allowed for offerNumeric whole number will enable this setting2000
session_hoursNumber of hours the user click session/cookies will be trackedNumeric whole number less than 17520. Default is 720 (30 days)720
require_approvalRequires approval for partner to access offer1 (enabled) or 0 (disabled)0
terms_and_conditionsAdds terms & conditions to offer partners have to agree toUp to 255 charactersTerms and conditions here
approve_conversionsTurns on setting that requires approve all conversions for this offer1 (enabled) or 0 (disabled)0
allow_multiple_conversionsSetting allows multiple conversion from same transaction ID1 (enabled) or 0 (disabled)0
allow_website_linksSetting that allows custom landing page URLs to be passed in tracking links1 (enabled) or 0 (disabled)0
show_custom_variablesTurns on setting to allow custom variables to be passed to advertiser1 (enabled) or 0 (disabled)0
set_session_on_impressionStart tracking users on impression instead of click1 (enabled) or 0 (disabled)0
display_advertiserOption to show advertiser in partners interface1 (enabled) or 0 (disabled)0
country_codesTwo-letter country codes to be targeted in offerTwo letter country code for each country targeted, separated by commas, wrapped in quotation marks ( “” )“US,CA,UK”
enforce_geo_targetingEnforces geotargeting for offer1 (enforced) or 0 (disabled)1
dne_list_idID of the suppression list for this offerNumeric ID of suppression list2
email_instructions_fromText specifying instructions for email campaignsUp to 255 charactersTest email instructions here
email_instructions_subjectText listing approval subjects for email campaignsUp to 255 charactersTest email subjects here
is_seo_friendly_301Turns on SEO friendly links for offer1 (enabled) or 0 (disabled)0
ref_idReference ID for offerUp to 255 characterstest123
categoriesIDs of categories that offer is associated withCategory ID integer values separated by commas, wrapped in quotation marks ( “” )“1,2,3”
enforce_secure_tracking_linkValue for the “Secure Tracking Link” offer tracking setting1 (enabled) or 0 (disabled)1
tagsTags applied to the offerExisting tag names separated by commas, wrapped in quotation marks ( “” )“Red,Blue,Green”

Applying Classifications

To apply offer classifications via CSV upload, use the classification type name in the header row and use the classification itself as the value. Accepted classification type names are:

  • Channel
  • Conversion Type
  • Incentive
  • Media Placement
  • Operating System
  • Vertical

For example, you can apply the “Non-incent” classification (of the “Incentive” classification type) to three offers with a CSV file that looks like this:


Classifications applied via CSV upload are added to any existing classifications.

Note: Applying classifications via CSV upload follows the same restrictions as the TUNE platform. Keep in mind that offers only accept a single classification for certain classification types.

“What If I Need Other Fields?”

This feature is limited to core offer fields. If you need to change something relating to an offer—like advanced payout and revenue settings or other landing pages—you can do so directly in the platform or (for enterprise accounts) through the Network API.

Known Issues with CSVs

Using Complex Text Fields

If a text field contains commas: You need to do something special with that field. First, put quotation marks (“) around that field. For example, if you have three countries in a field that are separated by commas—US, Canada, and the United Kingdom—your field would look like:


The commas between fields go on the outside of the quotes, such as:


Important: If you put the delimiting commas inside the quotations marks (as some people might because of how they’re taught to write), the CSV import process will not work.

If a text field contains quotation marks: Use two backslashes (\) right before the quotation mark to tell TUNE to use an actual quotation mark, then use quotes around that text field. For example, a description that looks like:

Winner of "Best Game" by Awesome Games Quarterly!

Would look like this in the CSV:

…,"Winner of \\"Best Game\\" by Awesome Games Quarterly!",…

If a text field contains line breaks: The import process does not support line breaks within text fields.

Using Date Fields in Spreadsheets

Most spreadsheet software (such as Microsoft Excel and Google Sheets) will format any dates entered in a way that makes them incompatible with our system. When using expiration_date and other date fields, you must set those columns to be strictly text-only.

  • Microsoft Excel: The steps may vary depending on which version of Excel you use. For current versions, select the columns for the date fields, go to the Cells option in the Format menu. In the Number tab, click on the Custom option in the Category list. Then in the Type box, enter “yyyy-mm-dd hh:mm:ss” (without quotation marks), then click OK. The dates will then appear as expected. when exported to CSV.
    For older versions, select the columns for the date fields, right-click or command-click on the selected area, and click on Format Cells. In the pop-up that appears, click on the Number tab and select Text.
  • Google Sheets: Select the columns for the date fields, then go to the Format menu, select Number, and click on Plain Text.
  • Apple’s Numbers: Numbers preserves the date formatting as you enter it. No special menu command is needed.

In all cases, you may have to re-enter any dates that were put in prior to changing the formatting in order to correct the entries and have your upload succeed. If you continue to have problems, open your .csv file in a plain text editor to make adjustments.