Bandcamp Help


Troubleshooting, Bugs


Uploading music

Album and track editing

Selling basics

Selling merch

Account basics

Audio basics


Track/album codes

Collecting emails

Bandcamp Pro

Bandcamp for labels

Artist subscriptions



Payment options

Physical orders

Fan accounts

Emailing track/album codes

These instructions tell you how to mail out codes using an email marketing service called Constant Contact. We like to imagine the steps are very similar for other contact management services. (We have a healthy imagination.) Please let us know if you find out otherwise.

Constant Contact lets you manage email communications with your fans. Using Bandcamp's track/album code export feature, and Constant Contact's import feature, you can send your fans personalized emails that contain unique track/album codes for them to redeem.

Constant Contact's features include custom fields in the address book, which allow you to assign arbitrary (and unique) data to each email contact. The fields are named Custom Field 1 through Custom Field 15 by default. You could, for example, assign a code to each contact's Custom Field 1, then include that data in an email body, resulting in a unique code sent to each email in your contacts.


  • Track/album codes are one-time use, and any single code should only be given out to one single fan. It's OK to send the same code again to the same fan, for example as a reminder about the code in a follow-up email.

  • In your emails, remember to include the URL for your fans to enter their code:

Ahem! These instructions assume you are generally familiar with the concept of CSV (comma separated values) files, and have both a Constant Contact account, and some experience with the advanced XHTML editing features for Constant Contact emails. If you aren't comfortable with any part of the instructions below, please call upon a knowledgeable friend to assist.


  1. If needed, create a new track/album code set.

    If you've come here after already creating a code set, go to the next step.

    Otherwise, visit your Bandcamp Tools page and generate a new set of codes. In the quantity field, specify the number of recipients on your mailing list.

  2. Export the codes as a CSV file.

    On your Tools page is a table showing all the code sets you've created. Click "export" next to the code set you wish to send. This will prompt you to save a CSV file with the codes in the first column.

  3. Merge the code list with your email address list.

    The way you merge this data will vary depending on how you currently store your mailing list, and what editing tools you are comfortable with.

    (Easier) If you're using a spreadsheet program:

    1. Import the track/album codes CSV from Bandcamp as a new spreadsheet.

    2. Select the entire column of unredeemed codes, without the column header; copy this to the clipboard.

    3. Open the spreadsheet that contains your mailing list.

    4. If needed, create a new column with the heading "Custom Field 1" (or perhaps some other number 2 through 15 if you are already using custom data for your contacts).

    5. Select the first empty cell under the "Custom Field" heading, and paste the codes in.

      You should now have a column of unique codes assigned one each per entry in your mailing list.

    6. Save or Export your contacts spreadsheet as a CSV file. Constant Contact recommends using CSV, instead of XLS (Excel format) for import, to minimize errors.

    (More work) If you're using a simple text editor:

    1. Open the track/album codes CSV from Bandcamp into your text editor.

    2. Open your mailing list CSV into your text editor, in a separate window.

    3. Add a new column in the header line with the name "Custom Field 1" (or perhaps some other number 2 through 15 if you are already using custom data for your contacts).

      For example, if the existing header line looks like this:

         Email,First Name,Last Name,State

      Then the new header line will look like this:

         Email,First Name,Last Name,State,Custom Field 1

    4. For each contact, copy one code from the first codes file, switch to the contacts file, and add a comma then paste in the code to the end of the line.

      For example, if an existing contacts line looks like this:

      Then the new contact line might look like this:

    5. Repeat the copy and paste process for each code, making sure not to repeat any codes in the list. Tip: if you Cut the codes from the first file, instead of Copy, it will help you keep track of which ones you've used as you're going along. (We told you the first way was easier!)

      You should now have a column of unique codes assigned one each per entry in your mailing list.

    6. Save your contacts CSV file (or export a new one)

  4. Import the merged CSV data into Constant Contact.

    Log into your Constant Contact account, go to the Contacts tab, click on Add/Import, and follow the instructions for file upload. Constant Contact will merge the data with your existing contacts.

  5. Embed the custom field into your email.

    In the advanced XHTML email editor, you can embed data from Custom Field 1 by using this tag:

       <Property name="Subscriber.CustomText1"/>

    This will include the unique code for each subscriber in the email text at send time. For example, you might add this text to your email body:

    Thanks for subscribing! Be sure to visit my site at <a href=""></a>, and enter this code for free unlimited streaming and a high-quality track download! Code: <Property name="Subscriber.CustomText1"/>

Why yes, it's just that easy!

Frequently Asked Questions

Also see our general Help pages.

What if I don't want the Custom Field data in my contacts any more?

Simply upload another CSV with new Custom Field data, if you want to replace the codes with some other data (including possibly another set of codes for a new promotion). If you just want to clear out the data because you're as much of a neat freak as we are, simply delete the column data from each line (but not the "Custom Field <n>" header) from your CSV file then upload it. Constant Contact will respect missing values in your CSV and delete the corresponding data it has stored in your online contacts.

Using a previous example, the contact line with deleted code might look like this (note comma remains at end, and the header line at the top would still contain "Custom Field 1"):,Joe,Fan,Ohio,

Why doesn't my email Preview show real data for the Custom Field column? All it says is "Custom Field 1" in bold.

Constant Contact's Preview function does not pull data from your address book. It uses your own account information to build the preview. The preview is therefore more of a "sanity check" for formatting, layout, and general appearance than an exacting simulation showing the full impact of including your address book data. In our own testing, this includes the "Send Test Email" function that is available from the Preview window. The test email will also use your own account information, and not data from your address book.

If you want to double-check the results of your work (a good idea for your first attempt), create a special email list with only yourself as the recipient, then actually go through a full email send operation, sent only to that list, to verify that the custom field data is included. This is the process that Constant Contact themselves recommend. We tried it here at Bandcamp with great success.

I must know more! Where can I read MORE!?

Constant Contact has copious amounts of online documentation. We were able to run through a complete account setup and trial email with embedded track/album codes in half a day, reyling solely on a web browser, Constant Contact's own online documentation, Google Docs spreadsheets, a basic text editor, and no more than two iced americanos. Some of the FAQ pages we found helpful are: