Transferts Campaign Manager

Le service de transfert de données BigQuery pour Campaign Manager vous permet de programmer et de gérer automatiquement les tâches de chargement récurrentes pour les données de rapports Campaign Manager.

Rapports acceptés

Le service de transfert de données BigQuery pour Campaign Manager (anciennement DoubleClick Campaign Manager) est actuellement compatible avec les options de création de rapports suivantes :

Pour en savoir plus sur la transformation des rapports Campaign Manager en tables et vues BigQuery, consultez la page Transformation des rapports Campaign Manager.

Option de création de rapports Compatibilité
Version d'API compatible 26 juin 2017
Programmation

Toutes les 8 heures, en fonction de l'heure de création.

Non configurable

Fenêtre d'actualisation

Les deux derniers jours

Non configurable

Durée maximale du remplissage

Les 60 derniers jours

Campaign Manager conserve les fichiers de transfert de données pendant 60 jours maximum. Les fichiers datant de plus de 60 jours sont supprimés par Campaign Manager.

Avant de commencer

Avant de créer un transfert Campaign Manager :

  • Vérifiez que vous avez effectué toutes les actions requises pour activer le service de transfert de données BigQuery.
  • Créez un ensemble de données BigQuery pour stocker les données Campaign Manager.
  • Assurez-vous que votre organisation a accès aux fichiers de transfert de données v2 de Campaign Manager (Campaign Manager DTv2). Ces fichiers sont transmis par l'équipe Campaign Manager à un bucket Cloud Storage. Pour obtenir l'accès aux fichiers Campaign Manager DTv2, la prochaine étape varie selon que vous avez conclu ou non un contrat direct avec Campaign Manager. Dans un cas comme dans l'autre, des frais supplémentaires peuvent s'appliquer.

    Si vous avez un contrat avec Campaign Manager, contactez l'assistance Campaign Manager pour configurer les fichiers Campaign Manager DTv2.

    Si vous n'avez pas de contrat avec Campaign Manager, votre agence ou votre revendeur Campaign Manager peut avoir accès aux fichiers Campaign Manager DTv2. Contactez-les pour accéder à ces fichiers.

    Une fois cette étape terminée, vous recevez un bucket Cloud Storage semblable à celui-ci :

    dcdt_-dcm_account123456

    L'équipe Google Cloud ne peut PAS générer ni attribuer de droits d'accès aux fichiers Campaign Manager DTv2 en votre nom. Pour accéder à ces fichiers, contactez l'assistance, votre agence ou votre revendeur Campaign Manager.

  • Assurez-vous que la personne qui crée le transfert dispose des autorisations requises suivantes :
    • Campaign Manager : accès en lecture aux fichiers Campaign Manager DTv2 stockés dans Cloud Storage. L'accès est géré par l'entité qui vous a envoyé le bucket Cloud Storage.
    • BigQuery : autorisations bigquery.transfers.update pour créer le transfert et autorisations bigquery.datasets.update sur l'ensemble de données cible. Le rôle IAM prédéfini bigquery.admin au niveau du projet comprend les autorisations bigquery.transfers.update et bigquery.datasets.update. Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Contrôle des accès.
  • Si vous envisagez de créer des transferts à l'aide de l'UI Web classique de BigQuery, autorisez les pop-ups de bigquery.cloud.google.com pour pouvoir afficher la fenêtre des autorisations. Pour que le transfert aboutisse, vous devez autoriser le service de transfert de données BigQuery à gérer vos campagnes Campaign Manager.
  • Les notifications d'exécution de transfert sont actuellement en version alpha. Si vous souhaitez configurer des notifications d'exécution de transfert, vous devez disposer des autorisations pubsub.topics.setIamPolicy pour Cloud Pub/Sub. Si vous configurez seulement des notifications par e-mail, les autorisations Cloud Pub/Sub ne sont pas requises. Pour en savoir plus, consultez la page Notifications d'exécution du service de transfert de données BigQuery.

Configurer un transfert Campaign Manager

Pour configurer un transfert Campaign Manager, vous devez disposer des éléments suivants :

  • Bucket Cloud Storage : URI du bucket Cloud Storage pour les fichiers Campaign Manager DTv2, comme décrit dans la section Avant de commencer. Le nom du bucket doit ressembler à ceci :

      dcdt_-dcm_account123456
    
  • ID Campaign Manager : votre ID de réseau Campaign Manager, d'annonceur ou votre ID Floodlight. L'ID de réseau est le parent dans la hiérarchie.

Rechercher l'ID Campaign Manager

Pour récupérer votre identifiant Campaign Manager, vous pouvez utiliser la console Cloud Storage afin d'examiner les fichiers figurant dans votre bucket Cloud Storage de transfert de données Google Ad Manager. L'ID Campaign Manager permet de mettre en correspondance les fichiers dans le bucket Cloud Storage fourni. L'ID est intégré au nom du fichier, pas au nom du bucket Cloud Storage.

Exemple :

  • Dans un fichier nommé dcm_account123456_activity_*, l'ID est 123456.
  • Dans un fichier nommé dcm_floodlight7890_activity_*, l'ID est 7890.
  • Dans un fichier nommé dcm_advertiser567_activity_*, l'ID est 567.

(Facultatif) Déterminer le préfixe du nom de fichier

Dans de rares cas, les fichiers figurant dans votre bucket Cloud Storage peuvent avoir des noms personnalisés non standards, que l'équipe des services Google Marketing Platform a configurés à votre place.

Exemple :

  • Dans un fichier nommé dcm_account123456custom_activity_*, le préfixe est dcm_account123456custom, soit tout ce qui précède "_activity".

Si vous avez besoin d'aide, contactez l'assistance Campaign Manager.

Pour créer un transfert de données BigQuery pour Campaign Manager, procédez comme suit :

UI classique

  1. Accédez à l'UI Web de BigQuery.

    Accéder à l'interface utilisateur Web de BigQuery

  2. Cliquez sur Transferts.

  3. Cliquez sur Ajouter un transfert.

  4. Sur la page New Transfer (Nouveau transfert) :

    • Pour Source, sélectionnez Campaign Manager (formerly DCM) (Campaign Manager (anciennement DCM)).
    • Pour Display name (Nom à afficher), saisissez le nom du transfert, par exemple My Transfer. Le nom du transfert peut être n'importe quelle valeur permettant d'identifier facilement le transfert si vous devez le modifier par la suite.
    • Pour Destination dataset (Ensemble de données de destination), sélectionnez l'ensemble de données approprié.
    • Pour Cloud Storage bucket (Bucket Cloud Storage), saisissez le nom du bucket Cloud Storage dans lequel sont stockés vos fichiers Data Transfer V.2.0. N'incluez pas gs:// lorsque vous saisissez le nom du bucket.
    • Pour DoubleClick ID (ID DoubleClick), saisissez l'ID Campaign Manager approprié.
    • (Facultatif) Si vos fichiers ont des noms standards comme dans ces exemples, laissez vide le champ File name prefix (Préfixe du nom de fichier). Ne renseignez le champ File name prefix (Préfixe du nom de fichier) que si les fichiers du bucket Cloud Storage ont des noms personnalisés comme dans cet exemple.

      Transfert de canal

    • (Facultatif) Développez la section Advanced (Avancé), puis configurez les notifications d'exécution pour votre transfert. Les notifications d'exécution de transfert sont actuellement en version alpha.

      • Pour le paramètre Cloud Pub/Sub topic (Sujet Cloud Pub/Sub), saisissez le nom de votre sujet (par exemple, projects/myproject/topics/mytopic).
      • Cochez la case Send email notifications (Envoyer des notifications par e-mail) pour autoriser les notifications par e-mail en cas d'échec de l'exécution des transferts.
      • Ne cochez pas la case Disabled (Désactivé) lorsque vous configurez un transfert. Pour désactiver les transferts existants, consultez la page Utiliser les transferts.

        Sujet Cloud Pub/Sub

  5. Cliquez sur Ajouter.

  6. Lorsque vous y êtes invité, cliquez sur Allow (Autoriser) pour autoriser le service de transfert de données BigQuery à accéder aux données de vos rapports Campaign Manager et à gérer les données dans BigQuery. Vous devez autoriser les fenêtres contextuelles de bigquery.cloud.google.com afin de pouvoir afficher la fenêtre des autorisations.

    Autoriser le transfert

Ligne de commande

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config. Les indicateurs suivants sont également requis :

  • --data_source
  • --target_dataset
  • --display_name
  • --params

    bq mk --transfer_config --project_id=[PROJECT_ID] --target_dataset=[DATASET] --display_name=[NAME] --params='[PARAMETERS]' --data_source=[DATA_SOURCE]
    

Où :

  • --project_id est l'ID du projet.
  • --target_dataset est l'ensemble de données cible pour la configuration de transfert.
  • --display_name est le nom à afficher pour la configuration de transfert. Ce nom peut correspondre à toute valeur permettant d'identifier facilement le transfert si vous devez le modifier ultérieurement.
  • --params contient les paramètres de la configuration de transfert créée au format JSON. Par exemple : --params='{"param":"param_value"}'. Pour Campaign Manager, vous devez indiquer les paramètres bucket et network_id. bucket est le bucket Cloud Storage contenant vos fichiers Campaign Manager DTv2, et network_id correspond à votre ID Floodlight, d'annonceur ou de réseau.
  • --data_source est la source de données : dcm_dt (Campaign Manager).

Vous pouvez également fournir l'indicateur --project_id pour spécifier un projet particulier. Si --project_id n'est pas indiqué, le projet par défaut est utilisé.

Par exemple, la commande suivante permet de créer un transfert Campaign Manager nommé My Transfer à l'aide de l'ID Campaign Manager 123456, du bucket Cloud Storage dcdt_-dcm_account123456 et de l'ensemble de données cible mydataset. Le paramètre file_name_prefix, qui est facultatif, n'est utilisé que pour les noms de fichiers rares et personnalisés.

Le transfert est créé dans le projet par défaut :

bq mk --transfer_config --target_dataset=mydataset --display_name='My Transfer' --params='{"bucket": "dcdt_-dcm_account123456","network_id": "123456","file_name_prefix":"YYY"}' --data_source=dcm_dt

Après avoir exécuté la commande, vous recevez un message de ce type :

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Suivez les instructions et collez le code d'authentification sur la ligne de commande.

API

Exécutez la méthode projects.locations.transferConfigs.create et indiquez une instance de la ressource TransferConfig.

Résoudre les problèmes de configuration des transferts Campaign Manager

Si vous rencontrez des problèmes lors de la configuration de votre transfert, consultez la section Problèmes de transfert Campaign Manager de la page Résoudre les problèmes de configuration des transferts du service de transfert de données BigQuery.

Interroger les données

Lorsque les données sont transférées vers BigQuery, elles sont écrites dans des tables partitionnées avec date d'ingestion. Pour plus d'informations, consultez la page Présentation des tables partitionnées.

Si vous interrogez directement les tables au lieu d'utiliser les vues générées automatiquement, vous devez utiliser la pseudo-colonne _PARTITIONTIME dans votre requête. Pour en savoir plus, consultez la page Interroger des tables partitionnées.

Exemples de requêtes Campaign Manager

Vous pouvez vous servir des exemples de requêtes Campaign Manager suivants pour analyser les données transférées. Vous pouvez également utiliser les requêtes dans un outil de visualisation tel que Cloud Datalab ou Google Data Studio. Ces requêtes sont fournies pour vous guider dans l'interrogation des données Campaign Manager avec BigQuery. Pour en savoir plus sur ce que vous pouvez faire avec ces rapports, contactez votre représentant technique Campaign Manager.

Ces exemples tirent parti de la compatibilité de BigQuery avec le langage SQL standard. À l'aide du tag #standardSQL, indiquez à BigQuery que vous souhaitez utiliser le langage SQL standard. Pour en savoir plus sur le préfixe #standardSQL, consultez la section Définir un préfixe de requête.

Dans chacune des requêtes suivantes, remplacez [DATASET] par le nom de votre ensemble de données. Remplacez [DOUBLECLICK_ID] par votre ID Campaign Manager.

Dernières campagnes

L'exemple de requête suivant permet de récupérer les dernières campagnes.

UI classique

#standardSQL
SELECT Campaign, Campaign_ID FROM `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
WHERE _DATA_DATE = _LATEST_DATE

Ligne de commande

bq query --use_legacy_sql=false '
SELECT Campaign, Campaign_ID FROM `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
WHERE _DATA_DATE = _LATEST_DATE'

Impressions et utilisateurs distincts par campagne

L'exemple de requête suivant permet d'analyser le nombre d'impressions et d'utilisateurs distincts par campagne au cours des 30 derniers jours.

UI classique

#standardSQL
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT Campaign_ID, DATA_DATE AS Date, count(*) AS count, count(distinct User_ID) AS du
FROM `[DATASET].impression[DOUBLECLICK_ID]` WHERE
  _DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
GROUP BY Campaign_ID, Date

Ligne de commande

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false '
SELECT Campaign_ID, _DATA_DATE AS Date, count(*) AS count, count(distinct User_ID) AS du
FROM `[DATASET].impression_[DOUBLECLICK_ID]` WHERE
  _DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
GROUP BY Campaign_ID, Date'

Dernières campagnes triées par campagne et date

L'exemple de requête suivant permet d'analyser les dernières campagnes pour les 30 derniers jours, triées par campagne et par date.

UI classique

#standardSQL
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT Campaign, Campaign_ID, Date FROM (
SELECT Campaign, Campaign_ID FROM `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
  WHERE _DATA_DATE = _LATEST_DATE
), (
SELECT date AS Date
  FROM `bigquery-public-data.common_us.date_greg`
  WHERE Date BETWEEN [START_DATE] AND [END_DATE]
)
ORDER BY
  Campaign_ID, Date

Ligne de commande

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false '
SELECT Campaign, Campaign_ID, Date FROM (
SELECT Campaign, Campaign_ID FROM `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
  WHERE _DATA_DATE = _LATEST_DATE
), (
SELECT date AS Date
  FROM `bigquery-public-data.common_us.date_greg`
  WHERE Date BETWEEN [START_DATE] AND [END_DATE]
)
ORDER BY
  Campaign_ID, Date'

Impressions et utilisateurs distincts par campagne dans une plage de dates

L'exemple de requête suivant permet d'analyser le nombre d'impressions et d'utilisateurs distincts par campagne entre le [START_DATE] et le [END_DATE].

UI classique

#standardSQL
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  base.*,
  imp.count AS imp_count,
  imp.du AS imp_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = \_LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN [START_DATE]
      AND [END_DATE] ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].impression[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN [START_DATE]
    AND [END_DATE]
  GROUP BY
    Campaign_ID,
    Date ) AS imp
ON
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
WHERE
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
ORDER BY
  base.Campaign_ID,
  base.Date

Ligne de commande

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false '
SELECT
  base.*,
  imp.count AS imp_count,
  imp.du AS imp_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN [START_DATE]
      AND [END_DATE] ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].impression[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN [START_DATE]
    AND [END_DATE]
  GROUP BY
    Campaign_ID,
    Date ) AS imp
ON
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
WHERE
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
ORDER BY
  base.Campaign_ID,
  base.Date'

Impressions, clics, activités et utilisateurs distincts par campagne

L'exemple de requête suivant permet d'analyser le nombre d'impressions, de clics, d'activités et d'utilisateurs distincts par campagne au cours des 30 derniers jours.

UI classique

#standardSQL
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  base.*,
  imp.count AS imp_count,
  imp.du AS imp_du,
  click.count AS click_count,
  click.du AS click_du,
  activity.count AS activity_count,
  activity.du AS activity_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
      AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].impression[DOUBLECLICK_ID]`
  WHERE
    DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS imp
ON
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
LEFT JOIN (
  SELECT
    Campaign_ID,
    DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].click[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS click
ON
  base.Campaign_ID = click.Campaign_ID
  AND base.Date = click.Date
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].activity[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS activity
ON
  base.Campaign_ID = activity.Campaign_ID
  AND base.Date = activity.Date
WHERE
  base.Campaign_ID IN [CAMPAIGN_LIST]
  AND (base.Date = imp.Date
    OR base.Date = click.Date
    OR base.Date = activity.Date)
ORDER BY
  base.Campaign_ID,
  base.Date

Ligne de commande

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false '
SELECT
  base.*,
  imp.count AS imp_count,
  imp.du AS imp_du,
  click.count AS click_count,
  click.du AS click_du,
  activity.count AS activity_count,
  activity.du AS activity_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
      AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].impression[DOUBLECLICK_ID]`
  WHERE
    DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS imp
ON
  base.Campaign_ID = imp.Campaign_ID
  AND base.Date = imp.Date
LEFT JOIN (
  SELECT
    Campaign_ID,
    DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].click[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS click
ON
  base.Campaign_ID = click.Campaign_ID
  AND base.Date = click.Date
LEFT JOIN (
  SELECT
    Campaign_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].activity[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Date ) AS activity
ON
  base.Campaign_ID = activity.Campaign_ID
  AND base.Date = activity.Date
WHERE
  base.Campaign_ID IN [CAMPAIGN_LIST]
  AND (base.Date = imp.Date
    OR base.Date = click.Date
    OR base.Date = activity.Date)
ORDER BY
  base.Campaign_ID,
  base.Date'

Activité des campagnes

L'exemple de requête suivant permet d'analyser l'activité des campagnes au cours des 30 derniers jours. Ici, remplacez [CAMPAIGN_LIST] par la liste de toutes les campagnes Campaign Manager présentant un intérêt dans le cadre de la requête, en les séparant par une virgule.

UI classique

#standardSQL
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
SELECT
  base.*,
  activity.count AS activity_count,
  activity.du AS activity_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      mt_at.Activity_Group,
      mt_ac.Activity,
      mt_ac.Activity_Type,
      mt_ac.Activity_Sub_Type,
      mt_ac.Activity_ID,
      mt_ac.Activity_Group_ID
    FROM
      `[DATASET].match_table_activity_cats[DOUBLECLICK_ID]` AS mt_ac
    JOIN (
      SELECT
        Activity_Group,
        Activity_Group_ID
      FROM
        `[DATASET].match_table_activity_types_[DOUBLECLICK_ID]`
      WHERE
        _DATA_DATE = _LATEST_DATE ) AS mt_at
    ON
      mt_at.Activity_Group_ID = mt_ac.Activity_Group_ID
    WHERE
      _DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN [START_DATE]
      AND [END_DATE] ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    Activity_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].activity_[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Activity_ID,
    Date ) AS activity
ON
  base.Campaign_ID = activity.Campaign_ID
  AND base.Activity_ID = activity.Activity_ID
  AND base.Date = activity.Date
WHERE
  base.Campaign_ID IN [CAMPAIGN_LIST]
  AND base.Activity_ID = activity.Activity_ID
ORDER BY
  base.Campaign_ID,
  base.Activity_Group_ID,
  base.Activity_ID,
  base.Date

Ligne de commande

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false '
SELECT
  base.*,
  activity.count AS activity_count,
  activity.du AS activity_du
FROM (
  SELECT
    *
  FROM (
    SELECT
      Campaign,
      Campaign_ID
    FROM
      `[DATASET].match_table_campaigns_[DOUBLECLICK_ID]`
    WHERE
      DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      mt_at.Activity_Group,
      mt_ac.Activity,
      mt_ac.Activity_Type,
      mt_ac.Activity_Sub_Type,
      mt_ac.Activity_ID,
      mt_ac.Activity_Group_ID
    FROM
      `[DATASET].match_table_activity_cats[DOUBLECLICK_ID]` AS mt_ac
    JOIN (
      SELECT
        Activity_Group,
        Activity_Group_ID
      FROM
        `[DATASET].match_table_activity_types_[DOUBLECLICK_ID]`
      WHERE
        _DATA_DATE = _LATEST_DATE ) AS mt_at
    ON
      mt_at.Activity_Group_ID = mt_ac.Activity_Group_ID
    WHERE
      _DATA_DATE = _LATEST_DATE ),
    (
    SELECT
      date AS Date
    FROM
      `bigquery-public-data.common_us.date_greg`
    WHERE
      Date BETWEEN [START_DATE]
      AND [END_DATE] ) ) AS base
LEFT JOIN (
  SELECT
    Campaign_ID,
    Activity_ID,
    _DATA_DATE AS Date,
    COUNT() AS count,
    COUNT(DISTINCT User_ID) AS du
  FROM
    `[DATASET].activity_[DOUBLECLICK_ID]`
  WHERE
    _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  GROUP BY
    Campaign_ID,
    Activity_ID,
    Date ) AS activity
ON
  base.Campaign_ID = activity.Campaign_ID
  AND base.Activity_ID = activity.Activity_ID
  AND base.Date = activity.Date
WHERE
  base.Campaign_ID IN [CAMPAIGN_LIST]
  AND base.Activity_ID = activity.Activity_ID
ORDER BY
  base.Campaign_ID,
  base.Activity_Group_ID,
  base.Activity_ID,
  base.Date'
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.