Planning enables you to change large amounts of project data at once by exporting the data to a file, editing the contents of the file, and importing the edited data back into Planning.
Exporting inventory files
You can export all placements, packages, and roadblocks in a project to a comma-separated values (CSV or .csv) file. This inventory file will contain information about the placements, packages, and roadblocks in your project. You can view and edit the file in any text editor, but we recommend importing it into a spreadsheet program for easier editing.
Importing inventory files
After you edit the values in the inventory files, you can import the changes into Planning. (Note that if you make your changes in a spreadsheet editor, you must save them as a .csv file before importing.) This is useful if you want to make changes to multiple placements at one time.
You can make any of the following changes in your inventory files and upload them back into Planning:
- Create and edit placements
- Create and edit placement groups (packages and roadblocks)
- Create and edit in-group placements
- Edit multiple flights for a placement or placement group
Keep these things in mind as you edit your spreadsheet:
- Unlike in Campaign Manager 360, you can’t reassign an in-group placement from one group to another by changing its group assignment.
- If you’re editing an existing in-group placement, its parent placement group doesn’t need to be in the spreadsheet, as long as you have the in-group placement’s ID in the “Placement ID” column.
The sections that follow explain how to perform each bulk action. Click the down arrow next to the action to open the section.
Create a new placementFollow these steps to create placements in your project:
- In your spreadsheet, add a row for each placement you want to add to your project.
- In the “Action” column, enter “Create”.
- In the “Placement type” column, enter “Placement”.
- Complete all required fields:
- Site name
- Placement name
- Start date/End date
- Compatibility
- Width/Height (if the placement’s “Compatibility” is “Display”). These will be combined into a single value, "Dimensions", when the placements are imported.
- Payment source
- Cost structure
- Cap cost
- Units
- Rate (if the placement’s “Cost structure” is “CPM”, "vCPM - Active View", “CPC”, or “CPA”)
- Cost (if the placement’s “Cost structure” is “Flat rate - Impressions” or “Flat rate - Clicks”)
- Save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The placement rows you added in the file will create new placements in your project.
Follow these steps to create a new placement group containing one or more in-group placements:
- Add a row to your spreadsheet.
- In the “Action” column, enter “Create”.
- In the “Placement type” column, enter “Package” or “Roadblock”.
- Complete all required fields for the placement group:
- Site name
- Placement name
- Start date/End date
- Cost structure
- Cap cost
- Units
- Rate (if the placement group’s “Cost structure” is “CPM”, "vCPM - Active View", “CPC”, or “CPA”)
- Cost (if the placement group’s “Cost structure” is “Flat rate - Impressions” or “Flat rate - Clicks”)
- Optionally, add one or more placements to any of the groups, as described below.
- When you’re finished adding groups and in-group placements, save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The rows you added in the file will create new placement groups and in-groups placements in your project.
Follow these steps to add one or more in-group placements to a new placement group (see above):
- Add a row for the in-group placement you want to add to your project. Note: This row must be directly below the parent placement group or other in-group placements.
- In the “Action” column, enter “Create”.
- In the “Placement type” column, enter “In-group placement”.
- Complete all required fields:
- Placement name
- Is primary placement (If the placement group is a “Roadblock”. Note: Only one in-group placement may the primary placement of a roadblock.)
- Compatibility
- Width/Height (if the in-group placement’s “Compatibility” is “Display”) These will be combined into a single value, "Dimensions", when the placements are imported.
- Payment source
- Save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The rows you added in the file will create new placement groups and in-groups placements in your project.
Follow these steps to edit existing placements, placement groups, or in-group placements in your project:
- In the exported spreadsheet, find the row for placement you want to add to your project. Or, add a new row and enter the ID of the placement you want to edit in the “Placement ID” column.
- In the “Action” column, enter “Update”.
- Edit one or more of the following fields (note: all required fields must be present):
- Site name
- Placement name
- Start date/End date
- Compatibility
- Width/Height (if the placement’s “Compatibility” is “Display”) These will be combined into a single value, "Dimensions", when the placements are imported.
- Payment source
- Cost structure
- Cap cost
- Units
- Rate (if the placement’s “Cost structure” is “CPM”, "vCPM - Active View", “CPC”, or “CPA”)
- Cost (if the placement’s “Cost structure” is “Flat rate - Impressions” or “Flat rate - Clicks”)
- Save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The placement rows you edited in the file will edit existing placements, placement groups, and in-group placements in your project.
Follow these steps to add flights to a new placement or group:
- In your spreadsheet, go to the row for which you’re adding the flight(s).
- Create a new row under the placement row.
- Leave the “Action” column blank in the new row.
- In the “Placement type” column, enter “Flight”.
- Complete all required fields:
- Start date
- End date
- Rate (if the placement’s “Cost structure” is “CPM”, "vCPM - Active View", “CPC”, or “CPA”)
- Cost (if the placement’s “Cost structure” is “Flat rate - Impressions” or “Flat rate - Clicks”)
- Repeat steps 2 - 5 if you need to add more flights. When you’re finished, save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The flights you added in the file will be added to the placement or group in Planning.
Follow these steps to add flights to an existing placement or group:
- In your spreadsheet, go to the row for which you’re adding the flight(s).
- In the “Action” column, enter “Update”.
- Create a new row under the placement row.
- Leave the “Action” column blank in the new row.
- In the ”Placement type” column, enter “Flight”.
- Complete all required fields:
- Start date
- End date
- Rate (if the placement’s “Cost structure” is “CPM”, "vCPM - Active View", “CPC”, or “CPA”)
- Cost (if the placement’s “Cost structure” is “Flat rate - Impressions” or “Flat rate - Clicks”)
- Repeat steps 3 - 6 if you need to add more flights. When you’re finished, save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The flights you added in the file will be added to the placement or group in Planning.
Follow these steps to remove flights from an existing placement or placement group:
- In your spreadsheet, go to the row for the placement from which you want to remove a flight.
- In the “Action” column, enter “Update”.
- Delete the row for the flight you want to remove from the placement.
- Repeat step 3 if you need to remove more flights. When you’re finished, save the spreadsheet.
- Return to Planning. In the Inventory view for your project, click Import. Choose the file you just saved and click Open.
- You’ll receive an email notification at the account associated with your profile detailing the changes you’ve made, including any errors encountered while Planning processed the file.
- The flights you removed in the file will be removed from the placement or group in Planning.
When you import an inventory file into Planning, you'll see these results:
- The changed values will be propagated into your project.
- You receive a email confirming the import. If any errors occurred, some are reported in this email.
- A spreadsheet containing the data you imported is attached to the email. Some import errors, if any, are shown in this spreadsheet.
Inventory file format
Assuming you edit the .csv file as a spreadsheet, a row in the inventory file represents a placement, package, or roadblock. When you export an inventory file, all relevant values for each placement, package, and roadblock will be present. When you import an inventory file, you’ll need to provide the required values for the placements, packages, and roadblocks you want to update.
The table below shows the columns in the inventory file and the types of values you should use for them.
Field name |
Required? |
Value |
Action |
Required |
How the row will be processed during import. Value is one of the following (case-insensitive):
|
Placement type |
Required |
What type of object the row represents. When creating a new object, this value is required. Value is one of the following (case-insensitive):
Note that you can’t change the type of an object after it’s created. |
Site name |
Required |
The site to which the placement belongs. Value is a string (case sensitive) entered in a free-form text field. |
Placement name |
Required |
The name of the placement, package, or roadblock. Value is a string (case sensitive). |
Placement ID |
Required for “Update” action |
The ID of the placement, package, or roadblock. This value is required when the row action is “Update”. (When the action is “Create”, the ID is ignored, and the placement is automatically assigned a new ID.) |
Is primary placement |
Required for exactly one in-group placement in a roadblock |
Whether the in-group placement is the primary placement in the roadblock. Value is one of the following (case-insensitive):
|
Group assignment |
Required for “Create” action |
The ID of the existing placement group that this new in-group placement should be assigned to. When creating an in-group placement for a new placement group, this cell should be left blank. |
Start date End date |
Required |
The start and end dates for the placement. If the row action is “Create”, these dates will be used as the start and end dates for a single flight that will be automatically created. Values: date in yyyy-mm-dd format. |
Number of flights |
Ignored during import |
The number of flights in the placement. This value is ignored during import. |
Compatibility |
Required for placement rows; ignored for package and roadblock rows |
The compatibility type of the placement. (Packages and roadblocks do not have a compatibility type.) Value is one of the following (case-insensitive):
|
Width Height |
Required for placements with compatibility type “Display” |
The dimensions of the placement. Width and height are applicable only to placements with compatibility type “Display”. Value is an integer. These will be combined into a single value, "Dimensions", when the placements are imported. |
Payment source |
Required for placement rows; ignored for package and roadblock rows |
Which of the agency or the publisher will pay fees for the placement. values: Value is one of “Agency” or “Publisher” (case-insensitive). |
Cost structure |
Required |
How the cost of the placement will be calculated. Value is one of the following (case-insensitive):
|
Cap cost |
Required |
How costs should be capped for the placement, if at all. Value is one of the following (case-insensitive):
|
Units |
Required |
Number of units (impressions or clicks) for the placement. If the placement has more than one flight, you will not be able to update it via inventory file import. Value is an integer. |
Rate |
Required if cost structure is CPM, CPC, or CPA; ignored for other cost structures |
Cost per unit for the placement. If the placement has more than one flight, you will not be able to update it via inventory file import. During export, the rate value will be omitted if the placement has more than one flight. Value is a decimal expressed up to ten-thousandths. |
Cost |
Required if cost structure is “Flat rate - impressions” or “Flat rate - clicks”; ignored for other cost structures. Required for credits. |
Total cost for the placement. If the placement has more than one flight, you will not be able to update it via inventory file import. Value is a decimal expressed up to hundredths. A credit must be expressed as a negative value. |
In plan? |
Optional |
Whether the placement is in the plan. Value is one of the following (case-insensitive):
|
Description |
Optional |
Optional description of the placement or placement group. |
Campaign Manager 360 placement ID |
Ignored during import |
The ID of the Campaign Manager 360 placement to which the Planning placement is linked, if any. |
Errors |
Ignored during import |
Reports any problems with the row during import. This column is populated by Planning. It is ignored during import. |