Compartir a través de


Ejemplos de scripts para administrar grupos de anuncios

En las secciones siguientes se muestran ejemplos de scripts que realizan varias acciones en grupos de anuncios.

Agregar grupos de anuncios

Para agregar un grupo de anuncios, primero obtén la campaña a la que agregar el grupo de anuncios. Use el objeto CampaignSelector para seleccionar la campaña. El uso del withIds método proporciona un mejor rendimiento que pasar el nombre de la campaña en el withCondition método .

A continuación, llame al método newAdGroupBuilder de la campaña para obtener un generador que use para especificar las propiedades del grupo de anuncios. La única propiedad necesaria es el nombre del grupo de anuncios (consulta el withName método), que debe ser único dentro de la campaña. Si no especifica un valor de CPC, el valor predeterminado es el importe mínimo de la puja para la moneda de la cuenta. Solo debe especificar el idioma si la campaña no lo especifica; De lo contrario, hereda el valor de idioma de la campaña. De forma predeterminada, el estado del grupo de anuncios está en pausa.

Al llamar al método del build generador, se crea el grupo de anuncios de forma asincrónica; Los scripts agregan el grupo de anuncios en algún momento antes de que finalice el script o si llama a uno de los métodos de la operación de compilación. Para obtener información sobre este proceso, consulte ¿Qué es un generador?

function main() {
    // The ID of the campaign to add the ad groups to.
    // IDs in Scripts are string integers.
    var campaignId = 'CAMPAIGN ID GOES HERE';  
    var campaign = getCampaign(campaignId);

    // Ad groups to add.
    var adGroups = [];
    adGroups.push({
        name : 'AD GROUP NAME GOES HERE',
        cpc : 2.25,
        language : 'English' // Required if the campaign doesn't specify a language
    });
    adGroups.push({
        name : 'AD GROUP NAME GOES HERE',
        cpc : 1.25,
        language : 'English' // Required if the campaign doesn't specify a language
    });

    var operations = [];

    if (campaign != null)
    {
        for (var adGroup of adGroups) {
            var operation = addAdGroup(
                campaign, 
                adGroup.name, 
                adGroup.cpc, 
                adGroup.language);
            operations.push(operation);
        }
    }
    else {
        Logger.log("Unable to retrieve campaign, " + campaignId);
    }

    checkBuildStatus(operations, adGroups);
}

// Get the campaign using its ID.
function getCampaign(id) {
    var iterator = AdsApp.campaigns()
        .withIds([id])
        .get();

    // Return the campaign if it exists; otherwise, null.
    if (iterator.hasNext()) {
        return iterator.next();
    }
    else {
        return null;
    }
}

// Add the ad group to the specified campaign.
// Returns the builder's operation object, which you use to 
// check the status of the add operation.
function addAdGroup(campaign, name, cpc, language) {

    return campaign.newAdGroupBuilder()
        .withName(name)
        .withCpc(cpc)
        .withLanguage(language)
        .build();
}

// Check the ad group's build status.
function checkBuildStatus(operations, adGroups) {

    for (var i = 0; i < operations.length; i++) {
        if (!operations[i].isSuccessful()) {
            for (var error of operations[i].getErrors()) {
                Logger.log(`Failed to add, ${adGroups[i].name}. Error: ${error}`);
            }
        }
    }
}

Obtener todos los grupos de anuncios

Para obtener todos los grupos de anuncios de una cuenta, primero llame al método del adGroups objeto AdsApp para obtener el selector. A continuación, llame al método del get selector para obtener un iterador que se usa para recorrer en iteración la lista de grupos de anuncios. Dado que el ejemplo no especifica ningún filtro, el selector devuelve todos los grupos de anuncios de la cuenta. Para determinar el número de grupos de anuncios en el iterador, llame al método del totalNumEntities iterador.

function main() {
    // Gets all ad groups in the account.
    var iterator = AdsApp.adGroups().get();
    
    // Iterates through the list of ad groups and logs 
    // each ad group's name.
    while (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

Obtener un grupo de anuncios por nombre

Para obtener un grupo de anuncios por nombre, llame primero al método del adGroups objeto AdsApp para obtener el selector. El selector contiene una serie de métodos de filtro que se usan para filtrar la lista de grupos de anuncios. Use el withCondition método para filtrar los grupos de anuncios por un nombre de grupo de anuncios específico. Tenga en cuenta que los operandos y operadores distinguen mayúsculas de minúsculas.

A continuación, llame al método del get selector para obtener el iterador. Los nombres de grupos de anuncios dentro de una campaña son únicos, pero es posible que varias campañas tengan grupos de anuncios con el mismo nombre. Por este motivo, si filtra solo por nombre, el iterador puede contener más de un grupo de anuncios.

Si quieres obtener un grupo de anuncios por nombre de una campaña específica, incluye un withCondition método que especifique el nombre de la campaña (CampaignName = '<campaignnamegoeshere>').

function main() {
    // The name of the ad group to get.
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad groups with the specified name.
    var iterator = AdsApp.adGroups()
          .withCondition(`Name = '${adGroupName}'`)
          .get();

    // Need a loop because multiple campaigns can have 
    // an ad group with the same name.
    while (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

Obtención del grupo de anuncios por identificador

Si tienes acceso al identificador del grupo de anuncios, úselo en su lugar. El uso de identificadores para obtener entidades proporciona un mejor rendimiento. En lugar de usar el método de withCondition filtro, use el withIds método . Por ejemplo, withIds(['12345']).

function main() {
    var adGroupId = '12345';

    var iterator = AdsApp.adGroups()
        .withIds([adGroupId])
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

Obtención del grupo de anuncios por nombre de una campaña específica

function main() {
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var campaignName = "CAMPAIGN NAME GOES HERE";

    var iterator = AdsApp.adGroups()
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

Obtener los datos de rendimiento de un grupo de anuncios

Para obtener las métricas de rendimiento de un grupo de anuncios, llame al método getStats del grupo de anuncios. Al obtener el grupo de anuncios, debe especificar el intervalo de fechas de los datos de métricas que desee. Puede especificar el intervalo de fechas mediante un literal predefinido, como LAST_MONTH o TODAY, o una fecha de inicio y finalización. Para especificar el intervalo de fechas, use uno de los forDateRange métodos al seleccionar el grupo de anuncios (consulte AdGroupSelector).

Para obtener una lista de las métricas a las que puede acceder, consulte el objeto Stats .

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad group. You need to specify the date range of the
    // performance data you want to get.
    var iterator = AdsApp.adGroups()
        .forDateRange('LAST_WEEK')
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();
    
    // If the ad group is found, log some metrics.
    if (iterator.hasNext()) {
        var adGroup = iterator.next();
        var metrics = adGroup.getStats(); // Gets the performance metrics.
    }
}

Pausar un grupo de anuncios

Al agregar un grupo de anuncios, su estado es Pausado de forma predeterminada. Para habilitar el grupo de anuncios, llame al método del grupo de enable anuncios. Para cambiar el estado del grupo de anuncios a Pausado, llama al método del grupo de pause anuncios. Para determinar el estado del grupo de anuncios, llame a los métodos , isPausedy isRemoved del grupo de isEnabledanuncios.

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad group. 
    var iterator = AdsApp.adGroups()
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
        adGroup.pause();
    }
}