Servicio de campañas de DoubleClick

DoubleClick Campaign Manager y DoubleClick Digital Marketing Reporting desde Apps Script.

El servicio de DoubleClick Campaigns te permite usar la API de tráfico y de informes de DCM/DFA en Google Apps Script. Esta API proporciona acceso programático a DoubleClick Campaign Manager (DCM) y DoubleClick Digital Marketing (DDM) Reporting.

Este es un servicio avanzado que se debe habilitar antes de usarlo.

Referencia

Para obtener información detallada sobre este servicio, consulta la documentación de referencia para la API de tráfico y de informes de DCM/DFA. Al igual que todos los servicios avanzados de Apps Script, el servicio de DoubleClick Campaigns usa los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de los métodos.

Para informar problemas y encontrar otro tipo de asistencia, consulta la guía de asistencia de la API de tráfico y de informes de DCM/DFA.

Código de muestra

En el siguiente código de muestra, se usa la versión 4 de la API.

Obtén una lista de perfiles de usuario

En este ejemplo, se registran todos los perfiles de usuario disponibles en la cuenta.

advanced/doubleclick.gs
/**
 * Logs all of the user profiles available in the account.
 */
function listUserProfiles() {
  // Retrieve the list of available user profiles
  try {
    const profiles = DoubleClickCampaigns.UserProfiles.list();

    if (profiles.items) {
      // Print out the user ID and name of each
      for (let i = 0; i < profiles.items.length; i++) {
        const profile = profiles.items[i];
        console.log(
          'Found profile with ID %s and name "%s".',
          profile.profileId,
          profile.userName,
        );
      }
    }
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log("Failed with error: %s", e.error);
  }
}

Obtén una lista de campañas activas

En este ejemplo, se registran los nombres y los IDs de todas las campañas activas. Ten en cuenta el uso de tokens de paginación para recuperar la lista completa.

advanced/doubleclick.gs
/**
 * Logs names and ID's of all active campaigns.
 * Note the use of paging tokens to retrieve the whole list.
 */
function listActiveCampaigns() {
  const profileId = "1234567"; // Replace with your profile ID.
  const fields = "nextPageToken,campaigns(id,name)";
  let result;
  let pageToken;
  try {
    do {
      result = DoubleClickCampaigns.Campaigns.list(profileId, {
        archived: false,
        fields: fields,
        pageToken: pageToken,
      });
      if (result.campaigns) {
        for (let i = 0; i < result.campaigns.length; i++) {
          const campaign = result.campaigns[i];
          console.log(
            'Found campaign with ID %s and name "%s".',
            campaign.id,
            campaign.name,
          );
        }
      }
      pageToken = result.nextPageToken;
    } while (pageToken);
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log("Failed with error: %s", e.error);
  }
}

Crea un anunciante y una campaña nuevos

En este ejemplo, se crea un anunciante nuevo y una campaña nueva con ese anunciante. La campaña está configurada para durar un mes.

advanced/doubleclick.gs
/**
 * Creates a new advertiser, and creates a new campaign with that advertiser.
 * The campaign is set to last for one month.
 */
function createAdvertiserAndCampaign() {
  const profileId = "1234567"; // Replace with your profile ID.

  const advertiser = {
    name: "Example Advertiser",
    status: "APPROVED",
  };

  try {
    const advertiserId = DoubleClickCampaigns.Advertisers.insert(
      advertiser,
      profileId,
    ).id;

    const landingPage = {
      advertiserId: advertiserId,
      archived: false,
      name: "Example landing page",
      url: "https://www.google.com",
    };
    const landingPageId = DoubleClickCampaigns.AdvertiserLandingPages.insert(
      landingPage,
      profileId,
    ).id;

    const campaignStart = new Date();
    // End campaign after 1 month.
    const campaignEnd = new Date();
    campaignEnd.setMonth(campaignEnd.getMonth() + 1);

    const campaign = {
      advertiserId: advertiserId,
      defaultLandingPageId: landingPageId,
      name: "Example campaign",
      startDate: Utilities.formatDate(campaignStart, "GMT", "yyyy-MM-dd"),
      endDate: Utilities.formatDate(campaignEnd, "GMT", "yyyy-MM-dd"),
    };
    DoubleClickCampaigns.Campaigns.insert(campaign, profileId);
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log("Failed with error: %s", e.error);
  }
}