外部マーケティング活動と集計マーケティングデータの同期サポートが強化

Shopify GraphQL Admin APIの2024-01バージョンでは、外部マーケティングAPIの改良を行い、より効率的なマーケティング活動の管理を可能にします。今回の更新により、外部で管理しているマーケティング活動をShopifyと同期することが容易になり、店舗オーナーがShopifyへのデータ同期許可を取り消した場合にも一括でデータを削除することが可能になりました。

技術的課題と現状分析

これまでShopifyのAPIを使用したマーケティング活動の管理では、外部で管理しているマーケティング活動との同期や、集計データの同期に一部制約がありました。また、一部のフィールド名が直感的でなく、必須フィールドの管理やデータ削除手順も複雑でした。これらの課題を解決するため、今回のAPI更新を行いました。

技術的ソリューションの提案

今回のAPI更新により、以下の改善が行われました。

  • marketingActivityCreateExternalとmarketingActivityUpdateExternalのchannelフィールドがmarketingChannelTypeに改名されました。
  • marketingEngagementInputからfetchedAtフィールドが削除され、utcOffsetisCumulativeが必須フィールドとなりました。
  • MarketingActivityUpdateExternalInputからutmフィールドが廃止されました。
  • marketingActivityUpsertExternalを利用して、ShopifyのIDを追跡せずに外部で管理している活動を同期できます。
  • marketingActivityCreateExternalまたはmarketingActivityUpsertExternalを使用して活動の階層を作成できます。これにより、広告、広告グループ、キャンペーンを表現する活動を作成できます。

実装手順とコード例

以下に、marketingActivityUpsertExternalを使用して外部で管理しているマーケティング活動をShopifyと同期する手順とコード例を示します。GraphQLを用いたリクエストを送信することで、マーケティング活動の作成や更新が可能です。

mutation {
  marketingActivityUpsertExternal(input: {
    marketingChannelType: "EMAIL",
    remoteId: "123",
    title: "Spring Sale Campaign",
    startedAt: "2024-01-01T00:00:00Z",
    endedAt: "2024-01-31T23:59:59Z",
    budget: { amount: "1000.00", currencyCode: "USD" },
    marketingChannel: { id: "gid://shopify/MarketingChannel/123" }
  }) {
    marketingActivity {
      id
    }
    userErrors {
      field
      message
    }
  }
}

パフォーマンス・コスト分析

この更新により、外部で管理しているマーケティング活動の同期が容易になり、ShopifyのIDを追跡する手間が省けます。また、一括でデータを削除する機能が追加されたことで、データ管理の効率性が向上します。これにより、システムのパフォーマンス改善とコスト削減が期待できます。

実装時の注意点・ベストプラクティス

新バージョンのAPIを使用する際は、フィールド名の変更や必須フィールドの設定に注意が必要です。また、データの削除は慎重に行い、不要なデータ削除がないように注意しましょう。

次のステップ・発展案

今後は、Shopifyと外部システムとの連携をさらに強化し、マーケティング活動の効率化を図ることが求められます。APIの更新情報に注目し、最新の機能を活用していきましょう。

参考記事: Improved support for syncing external marketing activities and receiving aggregate marketing data