外部マーケティング活動と集計マーケティングデータの同期サポートが強化
Shopify GraphQL Admin APIの2024-01バージョンでは、外部マーケティングAPIの改良を行い、より効率的なマーケティング活動の管理を可能にします。今回の更新により、外部で管理しているマーケティング活動をShopifyと同期することが容易になり、店舗オーナーがShopifyへのデータ同期許可を取り消した場合にも一括でデータを削除することが可能になりました。
技術的課題と現状分析
これまでShopifyのAPIを使用したマーケティング活動の管理では、外部で管理しているマーケティング活動との同期や、集計データの同期に一部制約がありました。また、一部のフィールド名が直感的でなく、必須フィールドの管理やデータ削除手順も複雑でした。これらの課題を解決するため、今回のAPI更新を行いました。
技術的ソリューションの提案
今回のAPI更新により、以下の改善が行われました。
- marketingActivityCreateExternalとmarketingActivityUpdateExternalの
channelフィールドがmarketingChannelTypeに改名されました。 - marketingEngagementInputから
fetchedAtフィールドが削除され、utcOffsetとisCumulativeが必須フィールドとなりました。 - 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






Share:
AbandonedCheckout GraphQL APIで公開されるline_itemフィールドの公開
Admin APIの顧客リソースからaccepts marketingフィールドが削除される