Automatisation Shopify avec n8n : synchronisation des commandes UTM
Ce workflow n8n a pour objectif d'automatiser la gestion des commandes Shopify en intégrant les données UTM dans Baserow. Dans un contexte où les entreprises cherchent à optimiser leur suivi des performances marketing, ce processus permet de récupérer quotidiennement les commandes de Shopify et de les structurer pour une analyse approfondie. Grâce à cette automatisation n8n, les équipes marketing peuvent facilement suivre l'efficacité de leurs campagnes et ajuster leurs stratégies en conséquence.
- Étape 1 : Le workflow commence par un déclencheur programmé qui s'active tous les jours à minuit.
- Étape 2 : Il récupère ensuite les commandes de Shopify via une requête GraphQL, en utilisant les paramètres d'authentification appropriés.
- Étape 3 : Les données sont ensuite divisées en éléments individuels pour un traitement plus facile.
- Étape 4 : Une vérification est effectuée pour déterminer si une campagne est présente dans les données. Si c'est le cas, les informations sont transformées et préparées pour être envoyées à Baserow.
- Étape 5 : Enfin, les données structurées sont insérées dans la base de données Baserow, permettant ainsi une visualisation et une analyse efficaces. Les bénéfices business de ce workflow incluent une réduction significative des erreurs manuelles, un gain de temps considérable dans le traitement des données et une meilleure visibilité sur les performances des campagnes marketing. En intégrant ces données de manière automatisée, les entreprises peuvent prendre des décisions éclairées basées sur des données précises et à jour.
Workflow n8n Shopify, Baserow, data management : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Shopify, Baserow, data management : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "ZI0PxugfKsyepqeH",
"meta": {
"instanceId": "e2c978396c9c745cf0aaa9ed3abe4464dbcef93c5fe2df809b9e14440e628df6"
},
"name": "Shopify order UTM to Baserow",
"tags": [],
"nodes": [
{
"id": "2ba892fc-59c9-442b-aa21-a5c23b6076e5",
"name": "Baserow",
"type": "n8n-nodes-base.baserow",
"position": [
2860,
380
],
"parameters": {
"tableId": 646,
"fieldsUi": {
"fieldValues": [
{
"fieldId": 6164,
"fieldValue": "={{ $json.order }}"
},
{
"fieldId": 6165,
"fieldValue": "={{ $json.campaign }}"
},
{
"fieldId": 6166,
"fieldValue": "={{ $json.content }}"
},
{
"fieldId": 6167,
"fieldValue": "={{ $json.medium }}"
},
{
"fieldId": 6168,
"fieldValue": "={{ $json.source }}"
},
{
"fieldId": 6170,
"fieldValue": "={{ $json.revenue }}"
}
]
},
"operation": "create",
"databaseId": 121
},
"credentials": {
"baserowApi": {
"id": "VaQgKQ8NPXVMrvMl",
"name": "Baserow account"
}
},
"typeVersion": 1
},
{
"id": "e35a0417-7a6a-46bb-8970-20aa7c19d168",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
2860,
720
],
"parameters": {},
"typeVersion": 1
},
{
"id": "76e327e9-2cc2-42dd-b31a-1aa1e9b02cd1",
"name": "Set Shopify Subdomain",
"type": "n8n-nodes-base.set",
"position": [
1900,
320
],
"parameters": {
"fields": {
"values": [
{
"name": "Shopify Subdomain",
"stringValue": "you-domain"
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "85c0f561-a75d-44a4-a8a5-3791c10a2891",
"name": "Get orders from Shopify",
"type": "n8n-nodes-base.graphql",
"position": [
1900,
560
],
"parameters": {
"query": "=query yersterdaysOrders {\n orders(query: \"created_at:{{$today.minus({days: 1})}}\", first: 100) {\n edges {\n node {\n id\n name\n totalReceived\n customerJourneySummary {\n firstVisit {\n id\n source\n referrerUrl\n landingPage\n utmParameters {\n campaign\n content\n medium\n source\n term\n }\n }\n }\n }\n }\n }\n}",
"endpoint": "=https://{{ $('Set Shopify Subdomain').params[\"fields\"][\"values\"][0][\"stringValue\"] }}.myshopify.com/admin/api/2024-01/graphql.json",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "dPZdfPnUTz1YJ54o",
"name": "Shopify Header Auth - lanakk.com"
}
},
"typeVersion": 1
},
{
"id": "4ddbe343-6d4f-4079-9c60-bdf2c34fb015",
"name": "Every day at 00:00",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1660,
560
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.1
},
{
"id": "6b3dd6f7-a761-4a01-bb77-cb8689fe64a0",
"name": "Split Shopify data into n8n items",
"type": "n8n-nodes-base.splitOut",
"position": [
2120,
560
],
"parameters": {
"options": {},
"fieldToSplitOut": "data.orders.edges"
},
"typeVersion": 1
},
{
"id": "c50ca221-1330-44c9-9877-3b5bd36a05fb",
"name": "Transform incoming data structure",
"type": "n8n-nodes-base.set",
"position": [
2340,
560
],
"parameters": {
"fields": {
"values": [
{
"name": "order",
"stringValue": "={{ $json.node.name }}"
},
{
"name": "campaign",
"stringValue": "={{ $json.node.customerJourneySummary.firstVisit.utmParameters.campaign }}"
},
{
"name": "content",
"stringValue": "={{ $json.node.customerJourneySummary.firstVisit.utmParameters.content || \"\" }}"
},
{
"name": "medium",
"stringValue": "={{ $json.node.customerJourneySummary.firstVisit.utmParameters.medium || \"\" }}"
},
{
"name": "source",
"stringValue": "={{ $json.node.customerJourneySummary.firstVisit.utmParameters.medium || \"\" }}"
},
{
"name": "term",
"stringValue": "={{ $json.node.customerJourneySummary.firstVisit.utmParameters.term || \"\" }}"
},
{
"name": "revenue",
"type": "numberValue",
"numberValue": "={{ $json.node.totalReceived }}"
}
]
},
"include": "none",
"options": {}
},
"typeVersion": 3.2
},
{
"id": "c84c3619-fd41-4d06-8894-1ba7998477fb",
"name": "Check if \"Campaign\" is present",
"type": "n8n-nodes-base.if",
"position": [
2560,
560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "61fe8905-1b9f-45d9-9742-2d5799200d18",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.campaign }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "b0f07670-4fdd-4b64-8d77-87ea5cc399ac",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1240,
460
],
"parameters": {
"color": 4,
"width": 360.408084305475,
"height": 315.5897364788551,
"content": "## Shopify API\n\nThis workflow uses GraphQL calls to the Shopify Admin API. In order to get a better understanding for the queries and mutations please check the API Docs.\n\n\n[Shopify GraphQL API docs](https://shopify.dev/docs/api/admin-graphql)\n\nTo make it easy to build queries for the GraphQL API easy please check out the [GraphiQL App for the Admin API](https://shopify.dev/docs/apps/tools/graphiql-admin-api) from Shopify"
},
"typeVersion": 1
},
{
"id": "742d92d7-9c3e-4515-a9ca-d840685d8ebf",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1720,
120
],
"parameters": {
"width": 279.1188177339898,
"content": "## Set your Shopify Subdomain here"
},
"typeVersion": 1
},
{
"id": "a4feb388-0d60-41ee-a269-d39717c6267c",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
760
],
"parameters": {
"width": 279.1188177339898,
"content": "## Shopify \nThe n8n Shopify node cannot get the customer journey, so we get this from the Shopify GraphQL API"
},
"typeVersion": 1
},
{
"id": "adc71ed1-fcb9-40fa-b3c8-ccca7e2fc699",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
3060,
360
],
"parameters": {
"width": 279.1188177339898,
"height": 157.78205353137358,
"content": "## Baserow\nPlease map the fields coming from the IF node to your own structure in Baserow"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c7fd635a-81e5-461b-885f-5b375bc51138",
"connections": {
"Every day at 00:00": {
"main": [
[
{
"node": "Set Shopify Subdomain",
"type": "main",
"index": 0
},
{
"node": "Get orders from Shopify",
"type": "main",
"index": 0
}
]
]
},
"Get orders from Shopify": {
"main": [
[
{
"node": "Split Shopify data into n8n items",
"type": "main",
"index": 0
}
]
]
},
"Check if \"Campaign\" is present": {
"main": [
[
{
"node": "Baserow",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Split Shopify data into n8n items": {
"main": [
[
{
"node": "Transform incoming data structure",
"type": "main",
"index": 0
}
]
]
},
"Transform incoming data structure": {
"main": [
[
{
"node": "Check if \"Campaign\" is present",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Shopify, Baserow, data management : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes marketing et aux responsables e-commerce des entreprises utilisant Shopify. Il convient particulièrement aux organisations de taille moyenne à grande, cherchant à automatiser leurs processus de gestion des commandes et à améliorer leur analyse de données. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation du workflow.
Workflow n8n Shopify, Baserow, data management : problème résolu
Ce workflow résout le problème de la gestion manuelle des commandes Shopify et de l'intégration des données UTM, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à la collecte et à l'analyse des données, tout en réduisant le risque d'erreurs humaines. À la suite de la mise en place de ce workflow, les utilisateurs bénéficient d'une synchronisation fluide des données, leur permettant d'avoir une vue d'ensemble précise de leurs performances marketing.
Workflow n8n Shopify, Baserow, data management : étapes du workflow
Étape 1 : Le workflow est déclenché tous les jours à minuit.
- Étape 1 : Il récupère les commandes de Shopify via une requête GraphQL.
- Étape 2 : Les données sont divisées en éléments distincts pour un traitement plus efficace.
- Étape 3 : Une condition vérifie la présence d'une campagne dans les données.
- Étape 4 : Les données sont transformées pour être adaptées à l'insertion dans Baserow.
- Étape 5 : Enfin, les données structurées sont envoyées à Baserow pour une gestion et une analyse optimisées.
Workflow n8n Shopify, Baserow, data management : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL de l'API Shopify pour correspondre à votre boutique. Il est également possible d'ajuster les paramètres de la requête GraphQL pour récupérer des informations spécifiques selon vos besoins. Pensez à adapter les champs dans Baserow pour qu'ils correspondent à la structure des données que vous souhaitez intégrer. Vous pouvez également ajouter d'autres noeuds pour enrichir les données ou les envoyer vers d'autres outils selon vos processus internes. Assurez-vous de sécuriser les informations d'authentification et de monitorer le flux pour garantir un fonctionnement optimal.