Registro de fuente: masivo
Define una fuente que se puede descargar y cargar en un archivo masivo.
Sugerencia
Para obtener información general sobre cómo usar fuentes y elementos de fuente, consulta las guías técnicas Fuentes de personalización de anuncios, Fuentes de inventario automático y Fuentes de páginas .
Nota:
- Actualiza tus anuncios de texto expandidos a anuncios de búsqueda adaptables antes del 1 de febrero de 2023. Después de esta fecha, ya no podrás crear anuncios de texto expandidos nuevos ni editarlos. Para obtener más información, consulte Acerca de los anuncios de búsqueda con capacidad de respuesta.
- Las fuentes programadas seguirán ejecutándose y los anuncios de texto expandidos existentes con fuentes de personalizador de anuncios seguirán funcionando. Podrá ver informes sobre su rendimiento.
- Seguirás siendo capaz de pausar, ejecutar o quitar las fuentes de personalizador de anuncios existentes. De lo contrario, los intentos de crear o editar personalizadores de anuncios existentes para anuncios de texto expandido producirán un
CustomerNotEligibleForAdCustomizersFeed
error. - Obtenga más información sobre este cambio.
Si va a crear nuevas entidades primarias y secundarias en el mismo archivo masivo, los registros dependientes se deben incluir después de las dependencias según la jerarquía:
Puede tener 100 fuentes por cuenta (este número máximo incluye todos los tipos de fuentes) y el número máximo de elementos de fuente (filas) por cuenta es de 5 millones.
Puede descargar todos los registros de fuente de la cuenta incluyendo el valor DownloadEntity de Fuentes en la solicitud de servicio DownloadCampaignsByAccountIds o DownloadCampaignsByCampaignIds . Además, la solicitud de descarga debe incluir el ámbito EntityData . Para obtener más información sobre el servicio masivo, incluidos los procedimientos recomendados, consulte Descarga y carga masivas.
En el siguiente ejemplo de CSV masivo se agregaría una nueva fuente de páginas, un inventario automático y una fuente de personalización de anuncios con un elemento de fuente para cada uno.
Type,Status,Id,Parent Id,Sub Type,Campaign,Ad Group,Client Id,Modified Time,Start Date,End Date,Device Preference,Keyword,Match Type,Target,Physical Intent,Name,Ad Schedule,Audience Id,Feed Name,Custom Attributes
Format Version,,,,,,,,,,,,,,,,6,,,,
Feed,Active,-20,,PageFeed,,,PageFeedClientIdGoesHere,,,,,,,,,,,,MyPageFeedName,"[{""name"":""Page Url"",""feedAttributeType"":""Url"",""isPartOfKey"":true},{""name"":""Custom Label"",""feedAttributeType"":""StringList""},{""name"":""Ad Title"",""feedAttributeType"":""String""}]"
Feed,Active,-21,,AdCustomizerFeed,,,AdCustomizerFeedClientIdGoesHere,,,,,,,,,,,,MyAdCustomizerFeedName,"[{""name"":""DateTimeName"",""feedAttributeType"":""DateTime""},{""name"":""Int64Name"",""feedAttributeType"":""Int64""},{""name"":""PriceName"",""feedAttributeType"":""Price""},{""name"":""StringName"",""feedAttributeType"":""String"",""isPartOfKey"":true}]"
Feed,Active,123456789,DynamicDataAutoListingFeedNew,CampaignName,AUTO ad group,-21,,DynamicDataAutosListingFeed,,"[{""name"":""Vehicle ID""},{""name"":""Final URL""},{""name"":""Image URL""},{""name"":""Make""},{""name"":""Model""},{""name"":""Price""},{""name"":""Title""},{""name"":""Target campaign""},{""name"":""Target ad group""},{""name"":""Latitude""},{""name"":""Longitude""},{""name"":""Mileage value""},{""name"":""Mileage unit""},{""name"":""Year""},{""name"":""Fuel type""},{""name"":""Transmission""},{""name"":""City""},{""name"":""VIN""},{""name"":""State of vehicle""}]"
Feed Item,Active,123456789,DynamicDataAutoListingFeedNew,CampaignName,AUTO ad group,,-21,,,"{""Vehicle Id"":""2g161290-1d13"",""""Final Url"""":""https:\/\/www.contoso.com\/used-Redmond1"",""Image Urls"":""https:\/\/www.contoso.com\/inventoryphotos\/01.jpg;https:\/\/www.contoso.com\/inventoryphotos\/02.jpg"",""Make"":""Contoso"",""Model"":""SUV"",""Price"":""65495.00 USD"",""Title"":""2020 SUV"",""Target campaign"":""CampaignName"",""Target ad group"":"""",""Latitude"":"""",""Logitude"":"""",""Mileage Value"":""13000"",""Mileage Unit"":""MI"",""Year"":""2020"",""Fuel Type"":"""",""Transmission"":"""",""City"":""Redmond"",""Vin"":""SALLJGML8HA004044"",""State of Vehicle"":""USED"",""Trim"":""HSE""}"
Feed Item,Active,-200,-20,,,,20;200,,2020/06/22 00:00:00,2020/06/30 00:00:00,,,,,,,,,,"{""Page Url"":""https://contoso.com/3001"",""Custom Label"":[""Label_1_3001"",""Label_2_3001""],""Ad Title"":""An ad title""}"
Feed Item,Active,-210,-21,,,,21;210,,2020/06/22 00:00:00,2020/06/30 00:00:00,,value,Broad,,PeopleIn,,(Sunday[09:00-17:00]),,,"{""DateTimeName"":""2020/06/22 00:00:00"",""Int64Name"":237601,""PriceName"":""$601"",""StringName"":""s237601""}"
Si usa los SDK de Bing Ads para .NET, Java o Python, puede ahorrar tiempo con BulkServiceManager para cargar y descargar el objeto BulkFeed , en lugar de llamar directamente a las operaciones del servicio y escribir código personalizado para analizar cada campo en el archivo masivo.
var uploadEntities = new List<BulkEntity>();
// Map properties in the Bulk file to the BulkFeed
var bulkAdCustomizerFeed = new BulkFeed
{
// 'Parent Id' column header in the Bulk file
AccountId = 0,
// 'Custom Attributes' column header in the Bulk file
CustomAttributes = new[]
{
// Each FeedCustomAttributeContract is represented as a JSON list item in the Bulk file.
new FeedCustomAttributeContract
{
FeedAttributeType = "DateTime",
Name = "DateTimeName"
},
new FeedCustomAttributeContract
{
FeedAttributeType = "Int64",
Name = "Int64Name"
},
new FeedCustomAttributeContract
{
FeedAttributeType = "Price",
Name = "PriceName"
},
new FeedCustomAttributeContract
{
FeedAttributeType = "String",
Name = "StringName",
IsPartOfKey = true
}
},
// 'Id' column header in the Bulk file
Id = adCustomizerFeedIdKey,
// 'Feed Name' column header in the Bulk file
Name = "My AdCustomizerFeed " + DateTime.UtcNow,
// 'Sub Type' column header in the Bulk file
SubType = "AdCustomizerFeed",
// 'Client Id' column header in the Bulk file
ClientId = "ClientIdGoesHere",
// 'Status' column header in the Bulk file
Status = Status.Active
};
uploadEntities.Add(bulkAdCustomizerFeed);
// Map properties in the Bulk file to the BulkFeed
var bulkPageFeed = new BulkFeed
{
// 'Parent Id' column header in the Bulk file
AccountId = 0,
// 'Custom Attributes' column header in the Bulk file
CustomAttributes = new []
{
// Each FeedCustomAttributeContract is represented as a JSON list item in the Bulk file.
new FeedCustomAttributeContract
{
FeedAttributeType = "Url",
Name = "Page Url"
},
new FeedCustomAttributeContract
{
FeedAttributeType = "StringList",
Name = "Custom Label"
}
},
// 'Id' column header in the Bulk file
Id = pageFeedIdKey,
// 'Feed Name' column header in the Bulk file
Name = "My PageFeed " + DateTime.UtcNow,
// 'Sub Type' column header in the Bulk file
SubType = "PageFeed",
// 'Client Id' column header in the Bulk file
ClientId = "ClientIdGoesHere",
// 'Status' column header in the Bulk file
Status = Status.Active
};
uploadEntities.Add(bulkPageFeed);
var entityUploadParameters = new EntityUploadParameters
{
Entities = uploadEntities,
ResponseMode = ResponseMode.ErrorsAndResults,
ResultFileDirectory = FileDirectory,
ResultFileName = DownloadFileName,
OverwriteResultFile = true,
};
var uploadResultEntities = (await BulkServiceManager.UploadEntitiesAsync(entityUploadParameters)).ToList();
Para un registro de fuente , los siguientes campos de atributo están disponibles en el esquema de archivos masivos.
- Id. de cliente
- Atributos personalizados
- Nombre de fuente
- Id
- Tiempo de modificación
- Parent Id
- Estado
- Subtipo
Identificador de cliente
Se usa para asociar registros en el archivo de carga masiva con registros en el archivo de resultados. El servidor no usa ni almacena el valor de este campo; simplemente se copia del registro cargado en el registro de resultados correspondiente. Puede ser cualquier cadena válida de hasta 100 en longitud.
Añadir: Opcional
Actualizar: Opcional
Eliminar: Solo lectura
Atributos personalizados
Los atributos se personalizan para cada subtipo de fuente y definen qué información sobre los productos o servicios que quieres insertar en tus anuncios.
Para el subtipo AdCustomizerFeed , puede incluir hasta 100 atributos personalizados por elemento de fuente donde cada nombre de atributo personalizado es único.
Para el subtipo DynamicDataAutosListingFeed , puede incluir hasta 100 atributos personalizados por elemento de fuente donde cada nombre de atributo personalizado sea único.
Para el subtipo PageFeed , puede incluir uno o dos atributos personalizados por elemento de fuente donde cada nombre de atributo personalizado es único.
Los atributos personalizados se representan en el archivo masivo como una cadena JSON. Para obtener más información, vea feedAttributeType, isPartOfKey y el nombre siguiente.
Estos son los atributos personalizados de ejemplo que puede cargar para una fuente de página.
Nota:
En el archivo masivo separado por comas, deberá rodear la lista de atributos, cada clave de atributo y cada valor de atributo con un conjunto adicional de comillas dobles, por ejemplo, la cadena JSON anterior se escribiría como "[{""name":""Page Url"","feedAttributeType"":"Url",""isPartOfKey"":true},{"name"":"Custom Label"",""feedAttributeType"":"StringList""},{""name"":"Ad Title"",""feedAttributeType"":"String""}]".
[
{
"name": "Page Url",
"feedAttributeType": "Url",
"isPartOfKey": true
},
{
"name": "Custom Label",
"feedAttributeType": "StringList"
},
{
"name": "Ad Title",
"feedAttributeType": "String"
}
]
Añadir: Obligatorio. Para un personalizador de anuncios y una fuente DynamicDataAutosListing, debe establecer al menos un atributo con las claves name y feedAttributeType . Para una fuente de páginas, debe establecer al menos un atributo con el nombre establecido en "Url de página". Solo se respetan las claves name, feedAttributeType e isPartOfKey .
Actualizar: Opcional. No se pueden quitar atributos personalizados después de crear la fuente. Puede agregar nuevos atributos personalizados cargando solo los nuevos atributos, es decir, no incluyan los atributos existentes con los nuevos atributos. Si incluye atributos existentes con atributos nuevos, se devolverá un error. Si deja este campo vacío o carga una copia exacta de los atributos existentes sin modificaciones, no se realizará ningún cambio.
Eliminar: Solo lectura
feedAttributeType
Tipo de datos de cada atributo personalizado. El tipo de datos se define en el registro de fuente y, a continuación, se establecen valores en el elemento de fuente. Siempre que cada nombre de atributo personalizado sea único dentro de la fuente, puede definir varios atributos con el mismo tipo de datos.
Hay cuatro tipos de datos diferentes feedAttributeType
que puede establecer para las fuentes del personalizador de anuncios:
feedAttributeType | Casos de uso | Valores de elemento de fuente aceptados |
---|---|---|
Cadena | Nombres de producto, categorías de productos, descripciones | Letras, números o símbolos |
Int64 | Recuento de inventario, número de colores disponibles | Cualquier número entero |
Precio | Costo del producto, descuento por venta | Cualquier número (incluidos los decimales) y caracteres de moneda válidos |
DateTime | Hora de inicio del evento, último día de una venta | aaaa/mm/dd HH:mm:ss Para que el valor predeterminado sea medianoche al principio del día, puede omitir la parte HH:mm:ss. |
Por ejemplo, podemos definir los atributos personalizados de una fuente de personalizador de anuncios.
[
{
"name": "DateTimeName",
"feedAttributeType": "DateTime"
},
{
"name": "Int64Name",
"feedAttributeType": "Int64"
},
{
"name": "PriceName",
"feedAttributeType": "Price"
},
{
"name": "StringName",
"feedAttributeType": "String",
"isPartOfKey": true
}
]
A continuación, podemos asignar cada nombre de fuente, es decir, "DateTimeName", "Int64Name", "PriceName" y "StringName" en la carga del elemento de fuente :
{
"DateTimeName": "2020/06/22 00:00:00",
"Int64Name": 237601,
"PriceName": "$601",
"StringName": "s237601"
}
Hay seis tipos de datos diferentes feedAttributeType
que puede establecer para las fuentes DynamicDataAutosListing:
feedAttributeType | Casos de uso | Valores de elemento de fuente aceptados |
---|---|---|
Cadena | Nombre del vehículo, categoría del vehículo, descripción | Letras, números o símbolos |
Int64 | año del vehículo, motor | Cualquier número entero |
Precio | Costo del vehículo, descuento por venta | Cualquier número (incluidos los decimales) y caracteres de moneda válidos |
DateTime | Hora de inicio del evento, último día de una venta | aaaa/mm/dd HH:mm:ss Para que el valor predeterminado sea medianoche al principio del día, puede omitir la parte HH:mm:ss. |
Url | Contiene la dirección URL del sitio web que se va a incluir en la fuente. | Debe incluir una dirección URL por elemento de fuente. |
StringList | Etiquetas que permiten agrupar las direcciones URL dentro de la fuente. | Puede incluir entre una y diez etiquetas personalizadas por elemento de fuente. Cada etiqueta personalizada se representa como un elemento de lista en notación JSON. Por ejemplo, la parte de etiqueta personalizada del elemento de fuente podría escribirse como ""Etiqueta personalizada":[""Label_1_3001"",""Label_2_3001"""] |
Por ejemplo, podemos definir los atributos personalizados de una fuente DynamicDataAutosListing.
[
{
"name": "DateTimeName",
"feedAttributeType": "DateTime"
},
{
"name": "Int64Name",
"feedAttributeType": "Int64"
},
{
"name": "PriceName",
"feedAttributeType": "Price"
},
{
"name": "StringName",
"feedAttributeType": "String",
"isPartOfKey": true
},
{
"name": "Page Url",
"feedAttributeType": "Url",
"isPartOfKey": true
},
{
"name": "Custom Label",
"feedAttributeType": "StringList"
}
]
A continuación, podemos asignar cada nombre de fuente, es decir, "DateTimeName", "Int64Name", "PriceName" y "StringName" en la carga del elemento de fuente :
{
"DateTimeName": "2020/06/22 00:00:00",
"Int64Name": 237601,
"PriceName": "$601",
"StringName": "s237601",
"Page Url": "https://contoso.com/3001",
"Custom Label": [
"Label_1_3001",
"Label_2_3001"
],
}
Estos son los feedAttributeType
tipos de datos que puede establecer para las fuentes de páginas:
feedAttributeType | Casos de uso | Valores de elemento de fuente aceptados |
---|---|---|
Cadena | Encabezado estático que se muestra en lugar del titular generado dinámicamente. | Letras, números o símbolos de hasta 63 caracteres. Puedes incluir un título de anuncio por elemento de fuente. |
StringList | Etiquetas que permiten agrupar las direcciones URL dentro de la fuente. | Puede incluir entre una y diez etiquetas personalizadas por elemento de fuente. Cada etiqueta personalizada se representa como un elemento de lista en notación JSON. Por ejemplo, la parte de etiqueta personalizada del elemento de fuente podría escribirse como ""Etiqueta personalizada":[""Label_1_3001"",""Label_2_3001"""] |
Url | Contiene la dirección URL del sitio web que se va a incluir en la fuente. | Debe incluir una dirección URL por elemento de fuente. |
Por ejemplo, podemos definir los atributos personalizados de la fuente de páginas.
Nota:
feedAttributeType
es opcional para las fuentes de páginas. Si establece , feedAttributeType
debe establecerse en "Url" para "Url de página", "StringList" para "Custom Label" y "String" para los atributos con nombre "Ad Title".
[
{
"name": "Page Url",
"feedAttributeType": "Url",
"isPartOfKey": true
},
{
"name": "Custom Label",
"feedAttributeType": "StringList"
},
{
"name": "Ad Title",
"feedAttributeType": "String"
}
]
A continuación, podemos asignar cada nombre de fuente, es decir, "Url de página", "Etiqueta personalizada" y "Título del anuncio" en la carga del elemento de fuente :
{
"Page Url": "https://contoso.com/3001",
"Custom Label": [
"Label_1_3001",
"Label_2_3001"
],
"Ad Title": "Find New Customers & Increase Sales!",
}
isPartOfKey
isPartOfKey
determina si los valores de un atributo personalizado deben ser únicos en todos los registros de elementos de fuente que se acumulan en la fuente.
isPartOfKey
Si se establece en "true", los valores deben ser únicos y, de lo contrario, puede cargar valores duplicados para el mismo atributo personalizado.
En el caso de las fuentes del personalizador de anuncios y los elementos de fuente, una cadena denominada "Id. personalizado" siempre se trata como una clave única, es decir, siempre isPartOfKey
es "true". El atributo "Custom Id" es actualmente la única manera de establecer una clave única para las fuentes del personalizador de anuncios a través de la aplicación web microsoft Advertising. Con bulk API tiene más flexibilidad para usar cualquier nombre de atributo como clave única.
En el caso de las fuentes de páginas y los elementos de fuente, la "dirección URL de página" siempre se trata como una clave única, es decir, siempre isPartOfKey
es "true".
En el caso de las fuentes DynamicDataAutosListing y los elementos de fuente, "VehicleId" siempre se trata como una clave única, es decir, siempre isPartOfKey
es "true".
name
El name
atributo se usa para asignar un atributo personalizado distinto entre la fuente y el elemento de fuente. De hecho, así es como se asegura de que un elemento de fuente específico se acumula en la misma "columna" de la fuente. En el ejemplo anterior del personalizador de anuncios, se usan los nombres "DateTimeName", "Int64Name", "PriceName" y "StringName" tanto en la fuente como en el elemento de fuente.
Nombre de fuente
Nombre de la fuente.
El nombre debe ser único (sin distinción entre mayúsculas y minúsculas) entre todas las fuentes de la cuenta. El nombre puede contener un máximo de 128 caracteres.
Añadir: Obligatorio
Actualizar: Opcional. Si no se establece ningún valor para la actualización, esta configuración no cambia.
Eliminar: Solo lectura
Id
Identificador generado por el sistema de la fuente.
Añadir: Opcional. Debe dejar este campo vacío o especificar un identificador negativo. A continuación, se puede hacer referencia a un identificador negativo establecido para la fuente en el campo Id de tipos de registro dependientes, como Elemento de fuente. Esto se recomienda si va a agregar nuevas fuentes y elementos de fuente en el mismo archivo masivo. Para obtener más información, vea Claves de referencia de esquema de archivos masivos.
Actualizar: Solo lectura y Obligatorio
Eliminar: Solo lectura y Obligatorio
Tiempo de modificación
Fecha y hora en que se actualizó por última vez la entidad. El valor se encuentra en la hora UTC (hora universal coordinada).
Nota:
El valor de fecha y hora refleja la fecha y hora en el servidor, no en el cliente. Para obtener información sobre el formato de la fecha y hora, vea la entrada dateTime en Tipos de datos XML primitivos.
Añadir: Solo lectura
Actualizar: Solo lectura
Eliminar: Solo lectura
Parent Id
Identificador generado por el sistema de la cuenta que contiene la fuente.
Este campo masivo se asigna al campo Id del registro de cuenta .
Añadir: Solo lectura
Actualizar: Solo lectura
Eliminar: Solo lectura
Estado
Estado de la fuente.
Los valores posibles son Active o Deleted.
Añadir: Opcional. El valor predeterminado es Active.
Actualizar: Opcional. Si no se establece ningún valor para la actualización, esta configuración no cambia.
Eliminar: Obligatorio. El estado debe establecerse en Eliminado.
Subtipo
El subtipo de fuente se incluye en el archivo de descarga masiva para mejorar la legibilidad.
Los valores posibles son:
- PageFeed
- AdCustomizerFeed
- DynamicDataToursAndActivitiesFeed
- DynamicDataCreditCardsFeed
- DynamicDataCruisesFeed
- DynamicDataHealthInsuranceFeed
- DynamicDataProfessionalServiceFeed
- DynamicDataMortgageLendersFeed
- DynamicDataEventsFeed
- DynamicDataHotelsAndVacationRentalsFeed
- DynamicDataCustomFeed
- DynamicDataAutosListingFeed
Es posible que en el futuro se admitan nuevos valores, por lo que no debe depender de un conjunto fijo de valores.
Añadir: Solo lectura
Actualizar: Solo lectura
Eliminar: Solo lectura