Loading
Ongoing maintenance for Salesforce HelpRead More
Media Cloud
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Media Plan Customizations with Ad Availability View Configuration

          Media Plan Customizations with Ad Availability View Configuration

          Media planners and sales reps create media plans to manage the complete quoting process for media campaigns of advertisers. Admins can customize various media plan aspects to tailor media plans based on the company's unique quoting process requirements.

          Required Editions

          Available in: Lightning Experience
          Available in: Enterprise, Performance, and Unlimited editions with Media Cloud - Advanced

          Create Media Plan Modal Customizations

          Admins can customize the Ad Availability View Configuration record named Modal Metadata with the Modal configuration type and the mediaplanmodal configuration key to decide the list of sections and fields that are shown on the Create Media Plan modal. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Add a custom field with the API name Notes__c from the Ad Quote object to the Media Plan Details section of the modal
          {
                  "section": {
                    "label": "Media Plan Details",
                    "isVisible": true,
                    "key": "Media-Plan-Details",
                    "sequence": 2,
                    "fields": [
                      {
                        "objectApiName": "AdOpportunity",
                        "fieldApiName": "AgencyId",
                        "isReadOnly": true,
                        "isRequired": false,
                        "sequence": 3
                      },
                 ]
                  }
                }
          {
                  "section": {
                    "label": "Media Plan Details",
                    "isVisible": true,
                    "key": "Media-Plan-Details",
                    "sequence": 2,
                    "fields": [
                      {
                        "objectApiName": "AdQuote",
                        "fieldApiName": "Notes__c",
                        "isReadOnly": false,
                        "isRequired": false,
                        "sequence": 3,
                        "label": "Notes"
                      }
                    ]
                  }
                }
          Add a new section to list the approvers of the media plan in the modal N/A
          {
                  "section": {
                    "label": "Approvers",
                    "isVisible": true,
                    "key": "Media-Plan-Approvers",
                    "sequence": 3,
                    "fields": [
                      {
                        "objectApiName": "AdOpportunity",
                        "fieldApiName": "FinanceApprover__c",
                        "isReadOnly": false,
                        "isRequired": true,
                        "sequence": 1,
                        "label": "Finance Team Approver"
                      },
                      {
                        "objectApiName": "AdOpportunity",
                        "fieldApiName": "LegalApprover__c",
                        "isReadOnly": false,
                        "isRequired": false,
                        "sequence": 2,
                        "label": "Legal Counsel Approver"
                      }
                 ]
                  }
                }

          You can only add fields from Opportunity, Ad Opportunity, Quote, and Ad Quote objects to the Create Media Plan modal. Fields from Quote and Ad Quote can be editable whereas fields from Opportunity and Ad Opportunity remain as read-only.

          Media Plan Summary Component Customizations

          Admins can customize the Ad Availability View Configuration record named Summary Metadata with the Summary configuration type and the summary configuration key to decide the list of fields that are shown on the Media Plan Summary component in a media plan. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Display a custom field with the API name PointOfContact__c from the Account object on the component
          {
                "summaryColumns": [
                  {
                    "entityName": "AdOpportunity",
                    "fieldApiName": "DealType"
                  }
            ]
          }
          {
                "summaryColumns": [
                  {
                    "entityName": "AdOpportunity",
                    "fieldApiName": "DealType"
                  },
                  {
                    "entityName": "Account",
                    "fieldApiName": "PointOfContact__c"
                  }
              }
            ]
          }
          Add a custom field named ROI__c from the AdQuote object as a key performance indicator (KPI) on the component
          {
                "kpiColumns": [
                  {
                    "entityName": "AdQuote",
                    "fieldApiName": "Budget"
                  },
                  {
                    "entityName": "AdQuote",
                    "fieldApiName": "MediaType"
                  }
                ]
              }
          {
                "kpiColumns": [
                  {
                    "entityName": "AdQuote",
                    "fieldApiName": "Budget"
                  },
                  {
                    "entityName": "AdQuote",
                    "fieldApiName": "MediaType"
                  }
                  {
                    "entityName": "AdQuote",
                    "fieldApiName": "ROI__c"
                  }
                ]
              }
          Remove the Deal Type field from the component
          {
                "summaryColumns": [
                  {
                    "entityName": "AdOpportunity",
                    "fieldApiName": "DealType"
                  },
                  {
                    "entityName": "Account",
                    "fieldApiName": "Name"
                  }
          {
                "summaryColumns": [
                  {
                    "entityName": "Account",
                    "fieldApiName": "Name"
                  }

          Customize the Ad Availability View Configuration record named Summary Metadata with the Summary configuration type and the summary-media-type-color configuration key to configure color codes for media types on the Media Plan Summary component. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Configure Color Codes
          {
          "#9D53F2"
                 }
          
          {
          
          "Digital":"#9d53f2",
           "Print":"#f253c2",
          "Radio":"#7df253"
                 }
          

          You can only add fields from Account, Opportunity, Ad Opportunity, Quote, and Ad Quote objects to the Media Plan Summary component.

          Ad Placement Quick Action Customizations

          Admins can customize the Ad Availability View Configuration record named Media Grid Row Actions with the Screen configuration type and the grid-rowactions configuration key to decide the list of quick actions that are available for the ad placements in a media plan. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Turn off the ability for media planners and sales reps to clone ad placements in a proposal
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Clone",
                "key": "clone"
              },
              {
                "label": "Delete",
                "key": "delete"
              }
            ]
          }
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Delete",
                "key": "delete"
              }
            ]
          }
          Change the label of the Delete quick action to Remove
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Clone",
                "key": "clone"
              },
              {
                "label": "Delete",
                "key": "delete"
              }
            ]
          }
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Clone",
                "key": "clone"
              },
              {
                "label": "Remove",
                "key": "delete"
              }
            ]
          }
          Add a quick action to execute a custom process to validate ad placements against the laws and regulations of the relevant to the address of the advertiser
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Clone",
                "key": "clone"
              },
              {
                "label": "Delete",
                "key": "delete"
              }
            ]
          }
          {
            "actions": [
              {
                "label": "Edit",
                "key": "edit"
              },
              {
                "label": "Clone",
                "key": "clone"
              },
              {
                "label": "Delete",
                "key": "delete"
              },
              {
                "label": "Check Compliance",
                "key": "check_compliance"
              }
            ]
          }

          To learn about to get the required ad placement information to execute custom processes, see Ad Placement Table Refresh and Quick Action Execution with Message Channels.

          Line Item Configuration Panel Tab Customizations

          Admins can customize the Ad Availability View Configuration record named Side Panel Tabs Metadata with the Screen configuration type and the sidepanel configuration key to decide the list of tabs that are available on the Line Item Configuration panel. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Change the label of the Line Item tab to Item Setting
          {
            "tabsMetadata": [
              {
                "label": "Line Item",
                "isVisible": true,
                "flowApiName": null,
                "key": "lineitemdetails",
                "isSelected": true
              }
            ]
          }
          {
            "tabsMetadata": [
              {
                "label": "Item Setting",
                "isVisible": true,
                "flowApiName": null,
                "key": "lineitemdetails",
                "isSelected": true
              }
            ]
          }
          Hide the Attribute tab for media planners and sales reps
          {
                "label": "Attribute",
                "isVisible": true,
                "key": "attributes",
                "flowApiName": null,
                "isSelected": false
              }
          {
                "label": "Attribute",
                "isVisible": false,
                "key": "attributes",
                "flowApiName": null,
                "isSelected": false
              }
          Add a custom tab called Notes that launches a flow with the API named AdPlacementMediaPlanNotes N/A
          {
                "label": "Notes",
                "isVisible": true,
                "flowApiName": "AdPlacementMediaPlanNotes",
                "key": "tab1",
                "isSelected": false
              }

          Admins can create a flow based on the company's requirements and then use a custom tab to launch the flow. To make sure that the flow is run in context of an ad placement, admins must use a Text data type input variable in the flow to pass the ID of the ad quote line associated with the ad placement into the flow. The input variable name must be AdQuoteLineId.

          Ensure that the Line Item Configuration panel opens in the Delivery tab by default
          {
            "tabsMetadata": [
              {
                "label": "Line Item",
                "isVisible": true,
                "flowApiName": null,
                "key": "lineitemdetails",
                "isSelected": true
              },
              {
                "label": "Targeting",
                "isVisible": true,
                "flowApiName": null,
                "key": "targeting",
                "isSelected": false
              },
              {
                "label": "Delivery",
                "isVisible": true,
                "flowApiName": null,
                "key": "delivery",
                "isSelected": false
              }
          {
            "tabsMetadata": [
              {
                "label": "Line Item",
                "isVisible": true,
                "flowApiName": null,
                "key": "lineitemdetails",
                "isSelected": false
              },
              {
                "label": "Targeting",
                "isVisible": true,
                "flowApiName": null,
                "key": "targeting",
                "isSelected": false
              },
              {
                "label": "Delivery",
                "isVisible": true,
                "flowApiName": null,
                "key": "delivery",
                "isSelected": true
              }

          Each tab in the Line Item Configuration panel is uniquely identified by a restricted set of keys. You can change the label of the tabs but can't change the keys of the tabs. Here's the list of keys for each tab that's provided:

          Default Tab Label Restricted Tab Key
          Line Item Details lineitemdetails
          Delivery delivery
          Attribute attributes
          Creatives creatives
          Bundle Items bundles
          Targeting targeting

          If you add a custom tab, the key of the custom tab must start with tab. For example, the key for a custom tab can be tab1, and the key for another custom tab can be tabAdditional.

          Line Item Tab Customizations

          Admins can customize the Ad Availability View Configuration record named LineItemDetails Tab Data with the Tab configuration type and the sidepanel-lineitemdetails configuration key to decide the list of sections and fields that are shown on the Line Item tab of the Line Item Configuration panel. Here are some examples of the possible customizations:

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Change the default label of the Start Date and End Date fields to Start Date Time and End Date Time
          {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "AdRequestedStartDate",
                        "isReadOnly": false,
                        "isRequired": true,
                        "datatype": "DateTime",
                        "mappedContextAttributeName": "AdRequestedStartDate"
                      },
                      {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "AdRequestedEndDate",
                        "isReadOnly": false,
                        "isRequired": true,
                        "datatype": "DateTime",
                        "mappedContextAttributeName": "AdRequestedEndDate"
                      }
          {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "AdRequestedStartDate",
                        "isReadOnly": false,
                        "isRequired": true,
                        "datatype": "DateTime",
                        "label": "Start Date Time",
                        "mappedContextAttributeName": "AdRequestedStartDate"
                      },
                      {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "AdRequestedEndDate",
                        "isReadOnly": false,
                        "isRequired": true,
                        "datatype": "DateTime",
                        "label": "End Date Time",
                        "mappedContextAttributeName": "AdRequestedEndDate"
                      }
          Add a new column in the Details section to show the product code of the ad placement
          {
                  "section": {
                    "label": "Details",
                    "isVisible": true,
                    "key": "Product",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "QuoteLineItem",
                        "fieldApiName": "LineNumber",
                        "isReadOnly": true,
                        "datatype": "String"
                        }
          {
                  "section": {
                    "label": "Details",
                    "isVisible": true,
                    "key": "Product",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "QuoteLineItem",
                        "fieldApiName": "LineNumber",
                        "isReadOnly": true,
                        "datatype": "String"
                      },
                      {
                        "entityName": "QuoteLineItem",
                        "fieldApiName": "Product2.ProductCode",
                        "isReadOnly": true,
                        "datatype": "String",
                        "label": "Code"
                      },
          Keep the Pricing section collapsed by default when the Line Item Details tab opens.
          {
                  "section": {
                    "label": "Price",
                    "isVisible": true,
                    "key": "Pricing",
                    "fields": [
                      {
                        "entityName": "QuoteLineItem",
                        "fieldApiName": "UnitPrice",
                        "isReadOnly": true,
                        "isRequired": false,
                        "datatype": "Currency"
                      },
          {
                  "section": {
                    "label": "Price",
                    "isVisible": true,
                    "key": "Pricing",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "QuoteLineItem",
                        "fieldApiName": "UnitPrice",
                        "isReadOnly": true,
                        "isRequired": false,
                        "datatype": "Currency"
                      },
          Add a new section named Price Change Notes and add the custom field with the API name PriceChangeNotes__c from the Ad Quote Line object in the section N/A
          {
                  "section": {
                    "label": "Price Change Notes",
                    "isVisible": true,
                    "key": "Notes",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "AdQuoteLineItem",
                        "fieldApiName": "PriceChangeNotes__c",
                        "isReadOnly": false,
                        "datatype": "String",
                        "label": "Additional Comments About Price Changes"
                      },
          Add fields to capture the maximum duration for audio and video products N/A
          {
                  "section": {
                    "label": "Details",
                    "isVisible": true,
                    "key": "Product",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "MaxDuration",
                        "isReadOnly": false,
                        "datatype": "Double",
                        "mappedContextAttributeName": "MaxDuration"
                      },
          To indicate whether the viewers can skip the audio and video products N/A
          {
                  "section": {
                    "label": "Details",
                    "isVisible": true,
                    "key": "Product",
                    "isCollapsed": true,
                    "fields": [
                      {
                        "entityName": "AdQuoteLine",
                        "fieldApiName": "Skippable",
                        "isReadOnly": false,
                        "datatype": "Picklist",
                        "mappedContextAttributeName": "Skippable"
                      },

          To limit the visibility of the Max Duration and Skippable to Video and Audio products, update the ASM Draft FieldConfig Rules and ASM Draft Amend FieldConfig Rules lookup tables. For more information, see Decision Tables Customization for Max Duration and Skippable Fields for Audio and Video Products.

          Check Availability Customizations

          Media planners can check ad placement status in external ad servers during media planning. Icons in the Ad Placements table show availability, and planners can customize the column with preferred values.

          Attention Before you create the configuration record, create your preferred picklist values for the availability status on the ad quote line object. Examples include Not Available, Partially Available, and Available. For more information, see Add or Edit Picklist Values.

          Create an Ad Availability Configuration record with the configuration key AdAvailsConfig as shown in this sample snippet. Make sure that the availability status in the configuration value matches the picklist values that you created on the ad quote line object.

          [
            {
              "minValue": 0,
              "maxValue": 0.1,
              "availabilityStatus": "Not Available",
              "iconDetail": {
                "iconName": "utility:ban",
                "iconStyleProps": {
                  "--slds-c-icon-color-foreground-default": "var(--slds-g-color-palette-pink-60)"
                }
              }
            },
            {
              "minValue": 0.1,
              "maxValue": 0.5,
              "availabilityStatus": "Partially Available",
              "iconDetail": {
                "iconName": "utility:away",
                "iconStyleProps": {
                  "--slds-c-icon-color-foreground-default": "var(--slds-g-color-palette-yellow-60)"
                }
              }
            },
            {
              "minValue": 0.5,
              "maxValue": 1,
              "availabilityStatus": "Available",
              "iconDetail": {
                "iconName": "utility:success",
                "iconStyleProps": {
                  "--slds-c-icon-color-foreground-default": "var(--slds-g-color-palette-teal-40)"
                }
              }
            },
            {
              "minValue": 1,
              "maxValue": 1.01,
              "availabilityStatus": "Available",
              "iconDetail": {
                "iconName": "utility:success",
                "iconStyleProps": {
                  "--slds-c-icon-color-foreground-default": "var(--slds-g-color-palette-teal-40)"
                }
              }
            }
          ]
          

          The minValue and maxValue ranges in your configuration list define how availability statuses appear in the Availability Status column. When you check a line item's availability, the system calculates the ratio of available units to total units. The system then evaluates this ratio against your configuration to determine what shows in the column:

          • If the ratio is at least the minValue but less than themaxValue, the system assigns the corresponding status to the Availability Status field. You can visually represent these statuses by setting the iconName to a standard utility icon, for example utility:success, utility:circle, or utility:error. You can define the icon's color in iconStyleProps. For a complete list of icons, see Icons.
          • If the ratio doesn't match a configured range, the status field remains unpopulated.
          • If the status field is blank or no active AdAvailsConfig record exists, the column shows the numerical ratio instead of an icon. The column shows the ratio only when the system populates the AvailableAdServerUnits and TotalAdServerUnits fields after the availability check.

          Update Media Plan Line Items in Bulk

          The bulk updates feature significantly enhances the efficiency of the media planning process by allowing users to perform mass updates directly within the Media Planning Grid. This feature eliminates the need to configure line items individually and helps you save time and reduce errors when managing media plans with dozens or hundreds of placements.

          Admins can customize the Ad Availability View Configuration record named Media Products Bulk Edit with the Modal configuration type and the modal-bulk-lineitemdetails configuration key to configure the line item fields for bulk edit.

          Business Requirement Default Configuration Value Snippet Customized Configuration Value Snippet
          Configure bulk edits of line items N/A
          "modalData":{"content":[{"tab":{"label":"Common","key":"<common>","sequence":1,"fields":[{"entityApiName":"AdQuoteLine","fieldApiName":"AdRequestedStartDate","label":"Start Date","sequence":1},{"entityApiName":"AdQuoteLine","fieldApiName":"AdRequestedEndDate","label":"End Date","sequence":2},{"entityApiName":"AdQuoteLine","fieldApiName":"AdEndDate","label":"End Date","sequence":3},{"entityApiName":"QuoteLineItem","fieldApiName":"DiscountAmount","label":"Discount (Amount)"},{"entityApiName":"QuoteLineItem","fieldApiName":"Discount","label":"Discount (Percentage)"},{"entityApiName":"QuoteLineItem","fieldApiName":"NetUnitPrice","label":"Offer Price","sequence":5}]}},{"tab":{"label":"Digital","key":"Digital","sequence":2,"fields":[{"entityApiName":"AdQuoteLine","fieldApiName":"PricingModel","sequence":1},{"entityApiName":"QuoteLineItem","fieldApiName":"Quantity","label":"Calculated Units","sequence":2}]}},{"tab":{"label":"Linear","key":"Linear","sequence":3,"fields":[{"entityApiName":"AdQuoteLine","fieldApiName":"PricingModel","label":"Pricing Model","sequence":1},{"entityApiName":"QuoteLineItem","fieldApiName":"UnitOfMeasure","label":"Unit of Measure","sequence":2},{"entityApiName":"AdQuoteLine","fieldApiName":"AdRequestedStartDate","label":"Start Date","sequence":3}]}}]}}

          Configure Auto Save on Line Item Configuration Panel

          Admins can create an Ad Availability View Configuration record with the enableAutoSave configuration key and the true configuration value to configure the auto save of line item configuration panel. When you turn on this feature, Salesforce saves your line item configuration changes when you switch between tabs. If you navigate away from a tab with unsaved updates, Salesforce applies your changes across all tabs.

          Note
          Note Salesforce saves your configuration changes when you switch between tabs, except on the Targeting tab and custom tabs.
           
          Loading
          Salesforce Help | Article