Learning Data Exclusion For Autobidding

Get Learning Data Exclusion For Autobidding
Add Learning Data Exclusion For Autobidding
Update Learning Data Exclusion For Autobidding

Get Learning Data Exclusion For Autobidding


function getLearningDataExclusion() {
  const accountId = AdsUtilities.getCurrentAccountId();
  const learningDataExclusionMaster = Search.LearningDataExclusionService.get({
    accountId: accountId
  }).rval;
  if (learningDataExclusionMaster.totalNumEntries == 0) {
    Logger.log('Learning data exclusion for autobidding does not exist.');
    return;
  }
  for (let i = 0; i < learningDataExclusionMaster.values.length; i++) {
    let learningDataExclusion = learningDataExclusionMaster.values[i].learningDataExclusion;
    Logger.log('learningDataExclusionId-> ' + learningDataExclusion.learningDataExclusionId
      + ', learningDataExclusionName-> ' + learningDataExclusion.learningDataExclusionName
      + ', startDateTime-> ' + learningDataExclusion.startDateTime
      + ', endDateTime-> ' + learningDataExclusion.endDateTime);
  }
}

Add Learning Data Exclusion For Autobidding


function addLearningDataExclusion() {
  const accountId = AdsUtilities.getCurrentAccountId();
  const operand = [{
    accountId: accountId,
    learningDataExclusionName: 'learningDataExclusionSetting1',
    description:'description1',
    devices: ['DESKTOP'],
    startDateTime: '20240701000000',
    endDateTime: '20240702000000',
    campaignIds: [123456]
  }]
  const addedLearningDataExclusion = Search.LearningDataExclusionService.add({
    accountId: accountId,
    operand: operand
  }).rval;
  for (let i = 0; i < addedLearningDataExclusion.values.length; i++) {
    if (addedLearningDataExclusion.values[i].operationSucceeded) {
      let learningDataExclusion = addedLearningDataExclusion.values[i].learningDataExclusion;
      Logger.log('learningDataExclusionId-> ' + learningDataExclusion.learningDataExclusionId
        + ', learningDataExclusionName-> ' + learningDataExclusion.learningDataExclusionName
        + ', startDateTime-> ' + learningDataExclusion.startDateTime
        + ', endDateTime-> ' + learningDataExclusion.endDateTime + ' has been added.');
    } else {
      Logger.log('learningDataExclusionName-> ' + operand[i].learningDataExclusionName + ' could not be added.');
    }
  }
}

Update Learning Data Exclusion For Autobidding


function setLearningDataExclusion() {
  const accountId = AdsUtilities.getCurrentAccountId();
  const learningDataExclusionName = 'learningDataExclusionSetting1';
  const newDesctiption = 'New description';
  const newDevices = ['DESKTOP', 'MOBILE', 'TABLET'];
  const newStartDateTime = '20240720000000';//YYYYMMDDHHmmss
  const newEndDateTime = '20240721000000';//YYYYMMDDHHmmss
  const newCampaignIds = [123456, 234567];
  //Since the ID cannot be confirmed on the Campaign Management Tool, identify the ID from the name.
  const learningDataExclusionMaster = Search.LearningDataExclusionService.get({
    accountId: accountId
  }).rval;
  if (learningDataExclusionMaster.totalNumEntries == 0) {
    Logger.log('Learning data exclusion for autobidding does not exist.');
    return;
  }
  let targetLearningDataExclusionId = 0;
  for (let i = 0; i < learningDataExclusionMaster.values.length; i++) {
    let learningDataExclusion = learningDataExclusionMaster.values[i].learningDataExclusion;
    //Identify ID from Name
    if (learningDataExclusion.learningDataExclusionName == learningDataExclusionName) {
      targetLearningDataExclusionId = learningDataExclusion.learningDataExclusionId;
    }
  }
  if (targetLearningDataExclusionId == 0) {
    throw new Error('The Learning data exclusion for autobidding with the specified name does not exist.');
  }
  const operand = [{
    accountId: accountId,
    learningDataExclusionId: targetLearningDataExclusionId,
    learningDataExclusionName: learningDataExclusionName,
    description: newDesctiption,
    devices: newDevices,
    startDateTime: newStartDateTime,
    endDateTime: newEndDateTime,
    campaignIds: newCampaignIds
  }]
  const setLearningDataExclusion = Search.LearningDataExclusionService.set({
    accountId: accountId,
    operand: operand
  }).rval;
  for (let i = 0; i < setLearningDataExclusion.values.length; i++) {
    if (setLearningDataExclusion.values[i].operationSucceeded) {
      let learningDataExclusion = setLearningDataExclusion.values[i].learningDataExclusion;
      Logger.log('learningDataExclusionId-> ' + learningDataExclusion.learningDataExclusionId
        + ', learningDataExclusionName-> ' + learningDataExclusion.learningDataExclusionName
        + ', startDateTime-> ' + learningDataExclusion.startDateTime
        + ', endDateTime-> ' + learningDataExclusion.endDateTime + ' has been updated.');
    } else {
      Logger.log('learningDataExclusionName-> ' + operand[i].learningDataExclusionName + ' could not be updateed.');
    }
  }
}