Compartir a través de


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:

  1. Fuente
  2. Campaña
  3. Grupo de anuncios
  4. Elemento de fuente

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.

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 , feedAttributeTypedebe 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