Upload Locations in a .CSV File

A how-to guide to easily uploading locations in bulk by either 1) mapping an existing location file to our fields or 2) using our upload template.

Requirements: Available in all account types.

Jump to

Option 1: Add Locations via .CSV File by Mapping Fields

Return to Top

Bullseye allows users to easily upload locations in a .CSV file by mapping your .csv fields to the Bullseye fields. This option saves time because you don't have to worry about changing the names of your fields to exactly match our format. Instead, you can point each of your fields to our fields. Currently, this method does not work with accounts that are using categories or attributes. See the option for Using the Import Template below if you have categories or attributes.

To get started, go to  Manage Locations > Import

You'll see the screen below:

Select the  Map Import Fields option as in the example above. Under the Upload file option, browse to your file and Select Import Locations. Under Choose Upload Action, select either Update, Append or Update and Insert.  

Update will replace all data and is only to be used if you have a complete location list to upload. If you use this option, report data will be lost on locations that existed previously in Bullseye and will be included in your update.  If you want to avoid this and need to upload a complete file, see the Template option below. Use append if you are adding locations to the existing list. Select  Import Locations and you'll see a screen similar to below:

Your column headers can be seen in the left column CSV field. On the right side, you'll see the Bullseye fields that your fields need to point to. Bullseye will attempt to find a match if the spelling of your field is similar to one of ours. Go through every field, and confirm that our matches correspond to the correct fields in the CSV file. You may need to change some or all of the fields by selecting on the right, depending upon how much your headers differ from our field names. When you have completed this, select  Import on the bottom right.

Once you select  Import, Bullseye will run the import. You may receive errors depending upon the condition of your data. Refer to the Fix Upload Errors step and Format Instructions at the end of this article for help on formatting data.

Option 2: Add Locations via .CSV File using the Import Template 

Return to Top

This option must be used if you have categories or custom attributes in your locator, but it also works if you don't have categories/attributes. We recommend using the  Map Import Fields option if you don't have categories/attributes because that option is usually faster.

1. Download the location template from your account 

Go to  Manage Locations > Import, then select the option Use Import Template.

If this is the first time you are uploading, you'll need to use our template with the spreadsheet column headers. Once you upload for the first time, you can keep the template you downloaded and keep adding locations to it as needed every time you need to upload.

Click on  Download Template and you will be prompted to download the file. Once you obtain the Bullseye Location Import Template, you’ll have the correct file type to upload (.csv) with the correct column structure. You will need all the required fields (LocationName, Country, Zip_PostalCode). For US clients, State_Province is also required to be populated. You don't need to have columns you are not going to use, but the column headers need to be spelled correctly, or you will receive an error when you upload. 

2. Enter your location data into the downloaded Bullseye Location Import Template .csv

Assuming you have your locations in a database or spreadsheet, you can copy and paste the data from your internal file into our file, on a column to column basis. For instance, you may have a column called “Store Name” or something similar which contains the name of all your locations. The Bullseye Import Template requires specific values for column headers. If column headers do not match, the entire column will be ignored. There are also 3-4 specific column headers that are required. These vary slightly depending on the country you are uploading. See .csv import notes below. 

By comparing your .csv columns with ours, it would be pretty easy to surmise that the aforementioned column called “Store Name” would go into the “LocationName” field. You can copy the contents of the column and paste it into our column.

3. Check the data for formatting

Certain data elements require specific formatting. For instance, Canadian postal codes have 6 alphanumeric characters separated by a single space. Look through your database and identify and fix and data that is not formatted appropriately. Refer to Tips for Formatting for information on how data should be formatted. Once you are done entering the data, save the file.

4. Upload the data

To upload the data, go to  Upload File, and browse to the file. 

Under  Choose Upload Action, select Append, Update, or Update and Insert.  

  • Append: Adds the locations in your .csv file to the locations already in Bullseye.
  • Clear and Append:  Replaces the data in Bullseye with the locations in your .csv file. If you use this option, report data will be lost on locations that existed previously in Bullseye and will be included in your update.
  • Update and Insert: We recommend this option for most updates. This option allows you to retain important report data for your locations. For details see Using the Update and Insert Option.

After you have chosen the upload action, select  Import Locations. Bullseye will attempt to import.

5. Fix Upload Errors

Often there will be some issues with the data even if you check for errors before you import. The larger the data file, the more likely this becomes. After you upload the file, you may get error messages.

To view specifics on the error, select  View Errors on the right. You'll see more details on the error so you can address the issues:

You will see a screen that looks similar to the above, though your errors may vary. Below are some formatting instructions which will help you with formatting the data correctly. Keep revising the data until you get the data uploaded. Contact us if you need help.

Create Location Logins

Return to Top

If you want locations to manage their own location data, you can create Location Admins through the .CSV import. All you have to do is include a username for each location and a user will be simultaneously created for each location when the .CSV file is uploaded. A password will be automatically generated for them.

If you are using the location template to import your locations, enter the username in the Username_Email column. If you are using your own file and mapping the fields, add two columns to your file where you can enter a username. See the formatting instructions below for more details on these fields. 

When creating users keep in mind that users must be unique. You cannot use an existing email address as a username or use the same email address for more than one location in the .CSV file. Users can be assigned to more than one location, but this cannot be done through the CSV import. To create multiple logins for a single location you will need to add the user through the Bullseye admin. See Allow Locations to Manage their own Data.

Once your file is successfully uploaded, you have the option to send the users a welcome email with their login information. 

Go to  Manage Locations > Email. You should see a list of locations that have a Location Admin assigned. Select the locations you want to send the message to. Change the Message Type to "New Location Welcome" (See this article to learn more about this default email and how it can be modified). Click Send Email.

Remove Duplicates and Merge Categories

Return to Top

Data duplication can occur when the exact same data is copied or entered more than once, especially when it is being retrieved from multiple systems. If the file you are uploading contains duplicate locations, the .CSV import provides two options that will remove duplicate entries during the import:

The Remove Duplicates option will look for entries that are duplicated based on the exact match of location name and address information (Address 1, City, State, Postal Code and Country). The import will only upload the first unique location and check for duplicates in the rest of the data.   

Sometimes the file can contain records that are duplicated because one location might be associated with multiple categories. The format of the file will contain the categories in a separate column as text and for each category, the location information and address will be duplicated such as in the example below:

In this case, the Merge Categories* option can be selected in combination with the Remove Duplicates option. When both of these options are selected, the import will look for entries that are duplicates but that contain different categories. It will combine the records into one location with multiple categories assigned to it.

Both of these options can be used with your own .CSV file or with the Bullseye .CSV template and you can Append or Update locations. These options only work for data contained in the .CSV file, not for data that is already stored in Bullseye. If you make a mistake or would like to check for duplicates in data that is already in Bullseye, you can export all of your locations and re-upload them, select  Update to replace all data and select Remove Duplicates and Merge Categories. This will ensure that all your data is duplicate free.

*This option will only be visible if we make a configuration for you. We will need to map your categories to our IDs in the database. Contact us for assistance.

Format Instructions for your .csv file

Return to Top

Column Name Required Data Type  Notes
LOCATIONID String This is a unique ID that Bullseye assigns to each location after you upload the location for the first time. This ID may be used in lieu of the 3rdpartyID if you don't have 3rdpartyIDs. See this article for more info.
ThirdPartyID String If you have a unique ID you assign internally to your locations, you may optionally include it here. Using the unique ID allows you to keep locations intact with subsequent uploads if you use the Update and Insert Option, which allows you to retain reporting data for that location throughout the duration of your subscription. If you choose to use this column, you must have a unique value for each location, and it must be included for all locations. See this article for more info
Active? Y/N Is the location active or not. If not active, the location will not be routed to or show up in Store Locator searches. Defaults to Y if the column is left empty
LocationName Yes String The company name or the recipient of leads
URL String https://www.google.com or www.google.com
IsInternet Y/N Is this an internet (online store) location? Defaults to N if the column is left empty
LocationType String The entered value must match one of the configured Location Type values.  Defaults to “Standard” if the column is left empty.  
ResponsivenessRating String The entered value must match one of the configured Responsiveness Rating values.  This field may be omitted for initial uploads if you don’t know how quickly the location responds to leads. There is no default value if this is not specified in the upload.
Username_Email String Must be a standard email address. For Lead Manager clients, this is used to route leads to locations via email, and as the username to login to Bullseye. Can also be used by a paid Store Locator account to allow locations to log in to maintain location data.  This field or ContactEmail are required when LeadManager column is set to Y.
Country Yes String This must represent the country code. See Country Codes.
Address1 String Address Information, do not include suite number here.
Address2 String Address Information, include suite number here.
Address3 String Address Information
Address4 String Address Information
InternationalAddress (leave this blank) No longer used by Bullseye except for some legacy accounts
City
String City name
State_Province Required for some countries String Use standard State/Province Codes. See State/Province Codes Required for US, Canada, Australia and Malaysia.
Zip_PostalCode Most countries require the postal code.  See this article for details. (It is possible to override the Postal Code requirement. See this article.) String Use Standard 5 digit US zip or 6 digit Canada postal code (with space in between) or full postal code for other countries.
ContactName String
ContactPosition String
ContactEmail String This field is displayed in the initial search results for Store Locator clients so a searcher can send an email to the location. Lead Manager clients can also route leads to this email address, in lieu of the username_email address field. (This option would be used if a company had repeat email addresses for their locations). Note that these locations cannot log in to Bullseye, and the LeadManager field must have the value Y for this option.
ContactPhone String Parentheses are not required but are suggested for phone and fax numbers.
ContactFax String
ContactMobile String
FacebookPageID String Enter the name of the Facebook Page only, the last part of the url, either a number or Facebook page name.
LeadManager Y/N Put Y in this column if you are using Lead Manager and want to be able to route leads to this location's email address.  Setting this column to Y, will force the .csv upload to require that Username_Email or ContactEmail are not null.
StoreLocator Y/N Put Y in this column if you want to return the location in store locator search. If no value is entered, it defaults to Y.  If you put N in this column, the location will not show up in the search. Entering N can be used if you are going to display an event in the event search that is assigned to the location, but omit the location from the location search.
GMB Yes/No This column is included only with the Google My Business module is enabled. "Yes" in this column identifies a location as being linked to a location in the associated Google My Business account. "No" identifies unlinked locations. A location cannot be linked by changing No to Yes, but a linked location can be  unlinked by changing Yes to No.
TimeZoneID Number A number is designated for each time zone. A list of time zones and their number is included in this document
MondayOpen String (Format Mask: hh:mm:ss)
Use the format included on the left in half-hour increments. These may get displayed as non-military time with AM/PM when opening a CSV in Excel. If a location is open 24 hours, select 12:00.00 AM (for both open & close times). If a location is closed, select any time except 12:00:00 AM for both the open & close times (ex. 8:00:00 AM - 8:00:00 AM)
MondayClosed String (Format Mask: hh:mm:ss)
Use the format included on the left in half-hour increments. These may get displayed as non-military time with AM/PM when opening a CSV in Excel. If a location is open 24 hours, select 12:00.00 AM (for both open & close times). If a location is closed, select any time except 12:00:00 AM for both the open & close times (ex. 8:00:00 AM - 8:00:00 AM)
TuesdayOpen, TuesdayClosed, etc. String (Format Mask: hh:mm:ss)
Use the format included on the left in half hour increments. These may get displayed as non-military time with AM/PM when opening a CSV in Excel. If a location is open 24 hours, select 12:00.00 AM (for both open & close times). If a location is closed, select any time except 12:00:00 AM for both the open & close times (ex. 8:00:00 AM - 8:00:00 AM)
Latitude decimal (4,6) Format Mask (±YY.YYYYYYY)
If you have the latitude coordinate you can insert. No more than 6 decimal places.
Longitude decimal (4,6) Format Mask (±XXX.XXXXXX)
If you have the longitude coordinate you can insert. No more than 6 decimal places.
ImageURL String Insert the full, secure URL for the image. The image will be displayed at the actual image dimensions.  We suggest 100x100 pixels or slightly larger.
ContactURL String This field is to be used to capture the URL of the contact and not the location. The same formating rules for the URL field apply.
(Territories) String Locations can be assigned to existing territories. If a location needs to be associated to more than one territory then each territory is to separted using a pipe character "|"
TwitterID  String (Example: https://twitter.com/bllsyelocations)
Include the ID of your Twitter page, not the entire url (i.e. bolded information in example on left).
GooglePlusID String (Example: https://plus.google.com/+Bullseyelocations)
Include the ID of your Google Plus account, not the entire url (i.e. bolded information in example on left).
PinterestID String (Example: https://www.pinterest.com/pin/104216178849247159)
Include the ID of your Pinterest page, not the entire url (i.e. bolded information in example on left).
LinkedInID String (Example: https://www.linkedin.com/company/bullseye-locations)
Include the ID of your LinkedIn page, note the entire url (i.e. bolded information in example on left).
YelpID String (Example: https://www.yelp.com/biz/bullseye)
Include the ID of your Yelp page, not the entire url (i.e. bolded information in example on left).
InstagramID  String (Example: https://www.instagram.com/explore/locations/128458169)
Include the ID of your Instagram page, not the entire url (i.e. bolded information in example on left).
SEOTitle String If you are using landing pages for your locations, you can include a title tag for each page.  This is usually used if you are implementing the landing pages under your own website domain.
SEOMetaDescription String If you are using landing pages for your locations, you can include a meta description for each page. This is usually used if you are implementing the landing pages under your own website domain.
YelpPlaceID String If you're using the Reviews subscription, you can include the Yelp PlaceID here to display Yelp reviews on results and landing pages
GooglePlaceID String If you're using the Reviews subscription, you can include the Google PlaceID here to display Google reviews on results and landing pages
SpecialHours   String (Example: Thanksgiving;11/22/2018;false;05:00:00;06:00:00|Chrismas Eve;12/24/2018;true;00:00:00;00:00:00)


Special Hours can be used for holiday hours, or for custom hours not specific to holidays. For holiday hours, you'll need to enter the name of the holiday (spelled exactly, along with the hours of operation). If a holiday is spelled differently from our spelling, it will be entered as custom hours. Custom hours are intended for irregular hours not covered by main holidays. Thus, if you enter the holiday with an alternate spelling, it will still appear as the non-standard spelling. If a location will be open for a particular holiday, or for custom hours, include "false" in the string (meaning it is "false" that the location will be closed.) If a location will be closed, include "true" along with zeros for the hours. If you are uploading multiple holidays, separate each holiday with a pipe character. Follow the format of the string in the example to the left.
LandingPagePhotos String Secure images can be displayed on the Bullseye landing pages as well as the initial results. Our standard interface supports up to 10 landing page photos. Show images by including a separate secure URL that starts with https:// for each image. Separate each image with a pipe character. If you have previously uploaded individual images to locations through the Bullseye admin form, these will be uploaded to Bullseye's server, and the partial url for each image will be visible when you download the locations. To keep these images intact for subsequent uploads, keep the partial url when you upload. Images uploaded to the Bullseye server will be displayed at 100x100px. Images not on our server are displayed at full size. See the example to the left.  
(Attributes) String There is a separate header for each attribute column. The header will vary for each column. We recommend creating the attributes first and downloading the .CSV file to ensure the headers are correct. Your data entry will depend on the field type. For checkbox attributes, separate each checkbox attribute with a semicolon. For link attributes, separate the link and display text with a semicolon. For photo attributes, enter secure image URLs starting with https://
(Categories) String There is a separate header for each category column. The header will vary for each column. We recommend creating the categories first and downloading the .CSV file to ensure the headers are correct. Put an "x" to indicate that the individual row/location carries the category/product.