I am creating a shopify app where I will query the orders at a shopify website from my backend to detect the orders that were referred by my site.
I use utm parameters at the initial page that I direct users to and they are passed properly all the way to order_completed. I can get the utm parameters at the customerJourney of an order.
The challenge is that I only want to get orders related to me as seeing all orders of a store would cause data breach. Is there a way to achieve that at GraphiQL filter? If not, what would be your guidance to achieve this in other ways?
Something like below but the query does not seem to filter properly. Alternative to utm, I could use referralCode but the filtering question still remain...
{
orders(
first: 100
query: "created_at:>='2024-02-21' AND customerJourney.moments.utmParameters.source:test_keyword"
reverse: true
) {
edges {
node {
name
id
createdAt
channelInformation {
id
}
currentTotalPriceSet {
presentmentMoney {
amount
}
}
customer {
id
}
customerJourneySummary {
firstVisit {
landingPage
}
lastVisit {
landingPage
}
}
customerJourney {
moments {
... on CustomerVisit {
utmParameters {
source
campaign
content
medium
term
}
}
}
}
}
}
}
}
It's not possible, at the moment these are the only filters that you can use when querying an order (from here https://shopify.dev/docs/api/admin-graphql/2024-01/queries/orders):
If none of those fields can help you, I suggest you to tag the order with flow (you should be able to use the buyer journey there) and then search for the tag.