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.
Option 1: Add Locations via .CSV File by Mapping Fields
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
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.
When you download this template, we include a field called Username_Password which companies can use if locations will be logging in to Bullseye. This field is not included when you export the actual locations for security reasons.
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.
- Update: 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
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 and password for each location and a user will be simultaneously created for each location when the .CSV file is uploaded.
If you are using the location template to import your locations, enter the username and password in the Username_Email and Username_Password columns. If you are using your own file and mapping the fields, add two columns to your file where you can enter a username and password. 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
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
|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||“Standard”, “Preferred”, “Exclusive”||This value is used for “A-List” Routing rules. Defaults to “Standard” if the column is left empty.|
|ResponsivenessRating||“Very Slow","Moderately Slow","About Average","Moderately Fast","Very Fast"||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.|
|Username_Password||String||This field is only visible in the .csv file if you download a blank template from Locations/Import and click on the red import button. You'll see a note that says "Need help setting up the import file?" Click on that note. This field allows you to upload a password for locations who need to login to Bullseye admin. This field is not visible if you export the locations list. If you enter an email address in the Username_Email field and leave this field blank, the system will generate a password. We suggest using at least 10 characters, it accepts alphanumeric and non-alphanumeric.|
|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.|
|InternationalAddress||(leave this blank)|| No longer used by Bullseye except for some legacy accounts
|State_Province||Yes, for US locations||String||Use standard State/Province Codes. See State/Province Codes|
|Zip_PostalCode||Yes (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.|
|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.|
|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||8:00:00||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||18:30:00||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.||8:00:00||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 (40.552418)||If you have the latitude coordinate you can insert. No more than 6 decimal places.|
|Longitude||Decimal (40.552418)|| If you have the longitude coordinate you can insert. No more than 6 decimal places.
|ImageURL||URL with https://||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.|
|TwitterID||https://twitter.com/bllsyelocations|| Include the ID of your Twitter page, not the entire url (i.e. bolded information in example on left).
|GooglePlusID||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||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||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||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||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||Bullseye Locations Branchburg, NJ||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||Bullseye Locations is a provider of Store Locator services located in Branchburg, NJ.||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||WavvLdfdP6g8aZTtbBQHTw||If you're using the Reviews subscription, you can include the Yelp PlaceID here to display Yelp reviews on results and landing pages|
|GooglePlaceID||ChIJWWRL_52Uw4kRVEd8MI8MWxg||If you're using the Reviews subscription, you can include the Google PlaceID here to display Google reviews on results and landing pages|
|SpecialHours||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||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)||Checkbox example: option 1; option 2; option 3||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.|