Importing Media Plans

Importing Media Plans

Importing Media Plans allows users with media buying rights to save time by importing large amounts of data from a source file into MarketingPilot.  The media plan import does not create new entities, it maps to existing data that has already been created in the application.  For example, if your media outlet, vendor, or rate has not already been created in the application, you cannot create them by putting them on the import source file. 

Imported media plans cannot be hard deleted.  They can be edited them or soft deleted after the import, but they cannot be hard deleted.  Try importing small single line item plans first in order to get familiar with the process and results of the field mapping. 

Before preparing your source file, open up a Media Plan and view the columns available to see what values are pulled in and compare those to what is entered on your source file for accuracy.

The import will not overwrite or update an existing media plan.  It is for creating new plans only.

Below are some guidelines to help with the process and best practice tips. 

Media Plan Outlets, Vendors, and Rates

The entries in the source file must be an exact match of what is stored in the application for all media outlet names in order for the import to be successful.  If any are not a direct match, such as extra or missing spaces or punctuation not included or varied in any way between the two, the import will fail. 


In addition to media outlets, other fields that you are mapping must also be an exact match or they will not be imported.  If the Media Outlets match, the import will succeed but other values can fail to import if they are not an identical match.

Examples of commonly used fields that require an exact match are Vendor Contact, Rates, Expense and Revenue Accounts (when importing accounts make sure you use the account name only – not the number), Advertisement, Market, etc. 

Note – Vendor Contact pulls from the Display As name so must appear on your source file in that format.  The Display As name can be seen on the contact details tab

Screenshot of Contact page for display as name:


Below is a basic example of a source file for import:

If you have rates defined on your media outlet, you can use Rates on the import and do not need to enter the cost, price, commission values – they will pull from the imported rate.  

Below is a basic example of source file for import with a rate:

Example of rate in MarketingPilot for Fox 47 media outlet:

The values defined on the rate will pull into the line item when the rate is imported:

Media Plan Dates and Times

Media plans have a start and end date parameter for the plan, and the line items also have start and end dates as well as start and end times.  The line items within the plan must fall in between the start and end date parameters of the plan.  This is easily identifiable when manually entering a media plan, however, when doing an import there are some tips to keep in mind. 

On your import you can identify a Run Date, Start Date, and End Date.  While only the Run Date is required, it may be easier for more complex plans if your source file has all three date fields (Run, Start, and End) defined. 

However, if all the orders on the plan are for specific date, then you only need to identify a Run Date on your source file for each line item.  If you only identify a Run Date on your plan, this will define the Start and End date parameters of the plan and the start and end dates for each order. 

Source file example Run Date import only:

The start and end date of the plan uses the earliest date (6/01) and the latest date (6/07) from the Run Date field to define the plan parameters:

And the start and end date for each order are also taken from what is identified for that line item:

If your individual orders will span over a date range, then you will want to add Start Date and End Date fields to your source file.  

Tip – notice the run date columns in the source file above.  When you have a Start and End dates defined they will drive the line item start and end dates.  Use your Run Date field to define the start and end parameters for the plan.  In this example, the line items go from 6/01 thru 6/30, so the Run Date fields must encompass the full span of all line item dates. 

NoteYou could also set a Run Date of 5/01/2011 and 7/01/2011, as long as the date values allow the full date range of all line items your plan will import correctly. 

The imported plan header results:

And the line items results:

If your line items require start and end times, you can add those to your source file within the Start Date and End Date fields as shown in the example below:

Result of import header:

And the line items with start and end dates and times:

Example of a slightly more complex import source file:

Screenshot of result of import:

For more information on MediaPlans please visit the MarketingPilot online help.


How To Setup Alerts

Please note the contacts must have an email address in order to be setup for alerts.  Alerts should only be setup for contacts that are also MarketingPilot Users since the alerts direct the user to login to the application.  A contact that does not have a User ID and gets an alert will not be able to login to the application to review what the alert is for.

To setup alerts for a MarketingPilot user:

Navigate to and click on the contact record for the User ID and click on the Alerts tab for that contact.

The Alerts tab view shows a section on the left side for areas of the application that alert rules exist for.  Click on the area you want to setup the alert for.  In the example below we are setting up job alerts for this user.  The alerts associated to jobs are displayed in the right hand side.  Select the alerts you want the user to be setup for and click Save. 

Please note – you must click save prior to navigating to any other areas within the alert directory tree in order to save the alert rule(s) selected for the area you are in.  If you do not click save before navigating to other areas, the alert rule(s) selected will not be saved. Once you click save the contact is now setup to receive alerts.  Alerts can be disabled, removed, or added at anytime. 

If users have more than one email address defined on their contact record, they can be setup to receive alerts to each email address. 

To receive alerts for jobs, campaigns, programs, and events, the user must be on the team tab of the corresponding entity.  If they are not on the team tab for the specific job, campaign, program, or event, they will not receive alerts for those entities. 

Alert rules contain a built in uniqueness check which prevents users from being notified of alerts for a direct action they performed. 

For example:

Contact A is assigned a task and has the Task Status Change alert rule defined.  Contact A completes the task changing the status from In Process to Completed.  They will not receive an alert notifying them that the status of the task was changed. 

Contact A creates a job and has the New Job alert rule.  They are by default on the team of the job because they are the created by contact, however, since they created the job they will not be notified of a new job.

Contact A has the New Task alert and assigns itself a new task, no alert will be sent in this situation.

For more information on alerts please visit the Alerts section in the MarketingPilot online help.

Database Upgrade Utility – Instructions for running the database upgrade utility remotely for 64bit Servers

Description:  The database upgrade utility must be run on the database server, but it cannot be run on a 64bit OS.  If your database server is a 64bit OS, you must run the upgrade utility remotely from a 32bit machine using the instructions below. 

If you have already run the upgrade utility on a 64bit server and received an error message, you will need to restore the backup of the database that was done prior to the upgrade and start again running the upgrade utility remotely from a 32 bit OS as outlined below.  Here is an example of the error message you will receive if running the upgrade utility on a 64bit OS:

NOTE:  These instructions are NOT a substitute for the Upgrade instructions included in the upgrade utility zip file. These are intended only to walk you thru running the upgrade utility remotely and are to be used in conjunction with the upgrade instructions.    

Instructions for running the Database Upgrade Utility remotely:

To Perform the Database Upgrade:

  1. Be sure to make a backup of the database. 
  2. Move the upgrade utility download(s) to a 32bit workstation and establish the ODBC connection to the database from that machine.  Instructions for establishing the ODBC connection can be found in the upgrade instructions.
  3. Place the Data_Bulkload files (usually there are 3) from the upgrade zip file into a folder on the 64bit database server.  We suggest creating a folder that you can identify the path to easily, such as at the root of the C drive in a folder called: Bulkupload
  4. In the upgrade utility folder back on the 32bit machine, you need to identify a path to the bulk files on the database server by creating an .ini file called: upgrader.ini (see below for screenshot example)
  5. The Upgrader.ini file must be in the same folder as the upgrade utility and must have the [BULKINSERT] bracket and the next line state FILEPATH= and then identify the path to where the bulk files are located on the database server and feed into the folder (do not leave off the \ after the folder name).
  6. You can now follow the upgrade instructions and run the database upgrade utility remotely from the 32 bit OS. 

Here is a screenshot example of the ini file opened in notepad:

 If you are performing more than one upgrade, you must follow the above steps for each upgrade you are running.  You must move the bulk insert files from each upgrade utility folder over to the database server and create an .ini file in each upgrade utility folder being run on the 32bit machine.

Reporting Services 2008 – Troubleshooting Insufficient Permissions Granted

Description of issue:  When deploying a report, the deploy fails with the error: “The permissions granted to user <mydomain\myuser> are insufficient for performing this operation.”

Check the following

Check your report project’s properties window

  • TargetDataSourceFolder, TargetReportFolder and TargetServerURL must be filled.

You must have the proper permissions in the Report Manager

  • Run Internet Explorer (As an Administrator)
  • Add Report Manager base url (http://localhost/) to Trusted Sites Security, if necessary
  • Select the Properties tab
  • Select the New Role Assignment link
  • Enter your username
  • Select CONTENT MANAGER, then click OK
  • Click on Site Settings (in the upper right-hand corner)
  • Select Security (in the left border)
  • Select the New Role Assignment link
  • Enter your username
  • Select SYSTEM ADMINISTRATOR, then click OK

Reporting Services – Troubleshooting Report Viewer Rendering Issues in IIS7

Description of issue:  Report is not rendering in the application, or is rendering but the image buttons appear as a Red ‘X’ when viewing the report (see below): 

Internet Information Services (IIS) Handler Mappings does not contain Reserved.ReportViewerWebContro.axdhttpHandler and is unable to render the report viewer elements.

Check the following:

Open IIS7 and select your MarketingPilot WebServer application.

 1. Under IIS area, double-click on the Handler Mappings icon.

2.  At the Actions pane on the right, click on Add Managed Handler

3.  Enter the following information into the Add Managed Handler fields:

  • Request Path: Reserved.ReportViewerWebControl.axd
  • Type: Microsoft.Reporting.WebForms.HttpHandler
  • Name: Reserved-ReportViewerWebControl-axd

4.  Click OK.  Reserved-ReportViewerWebControl-axd handler is now added to your Handler Mappings list.  Run your report again.

Contact Import Field Mapping Guide

Contact Import Field Mapping Guide

The screen shot below shows the fields in MarketingPilot that your source file records can be imported to when using the Contact Import function.  Please note you cannot update existing contact records by using the contact import.  Contacts that already exist in MarketingPilot will not be imported. Also, please be aware that this is a contact import, not a company import.  It is important to be aware that all fields imported will be applied to the contact page, not the company page.

Additional fields on the contact record that can be imported to are located on the Details tab of the contact (see below).

Performing the Contact Import

When performing the import, the first step is to select the type of contacts that you are importing and the company the contacts will belong to. 

There are 4 types available to choose from: CRM, Client, Staff, or Vendor.  For more information on determining contact type and belongs to, please review the Contacts section in the MarketingPilot online help.  Contacts imported as Client, Staff, or Vendor will appear in the corresponding sections.     

Primarily all contacts that are imported should belong to your site company as they are your company’s contacts, so they belong to you.  The contacts can be associated to their own company by defining that on the source file under Company, this is not the same as the “Belongs To” company.  If you are not sure, select your site company as the default company.  This will be the case on the majority of contact imports performed.  The only exception would be if the import being done is for CRM contacts. 

To import to category fields, such as Primary Business Address, Phone 2, Phone 3, Email 2, and Email 3, the source file must have a column to define the value that is to be displayed in the drop down box identified. Please Note – In order for the import to successfully map to a category field, the data in the source file must be identical to the values in MarketingPilot.

For example: in the sample source file screen shot below, the column labeled Phone 2 Type is Fax, which is a valid category for the Phone 2 field as defined in the Site Categories. 

The source file columns (left side) are mapped to the MarketingPilot fields (right side). In this example, we are mapping the value in the Phone 2 Type column to the Phone 2 category dropdown, and the Fax number is to the Phone 2 – Phone field.  

Once the import is successfully completed, the Contact record displays Fax in the Phone 2 field and the Fax number in the Phone 2 – Phone field.  Phone value from the source file was imported to Primary Phone.

The same mapping rules apply to the additional category fields that can be imported to.  To place a check in one of the available checkboxes in the Details section, use a “1” (selected) or “0” (blank) on your source file.


Once your source file is prepared, we would suggest performing an import using a single record as a test to verify the fields you have mapped the data to are displayed as you want once the import is completed.  When the import completes, a confirmation email is sent to the email address of the user who performed the import.  This email provides a count of the new and skipped records that were imported from the source file, and a URL that you can click on to hard delete the imported records.  This link only works if no additional changes have been made in MarketingPilot to the contact records that were imported, which includes using the contact for an expense, invoice, time slip, etc.  Prior to making changes it is best to review the imported records for accuracy.  If anything is incorrect, click on the link in the confirmation email to delete the import and make the changes to the source file and try again.  Please be aware that this is an all or none delete, you cannot specify which records to delete.