---
title: "Réductions personnalisées avec Shopify Functions (fin des Scripts)"
description: "Les Shopify Scripts ont disparu et Shopify Functions les remplace sur tous les plans. Ce que vous pouvez construire en réductions personnalisées, ce qui reste hors de portée, et comment se passe un projet."
author: "Aashish Kaushik"
published: 2026-09-13T05:00:12.771Z
updated: 2026-09-13T05:00:12.794Z
url: https://blog.byteinfy.com/fr/reductions-personnalisees-avec-shopify-functions-fin-scripts
---
# Réductions personnalisées avec Shopify Functions (fin des Scripts)

## Key takeaways

- Shopify Functions remplace les Scripts pour la logique de réduction, sur tous les plans et pas seulement Plus ; les marchands Plus devaient migrer avant 2025.
- Paliers, remises par groupe de clients, exclusions par collection, cadeau automatique et remise selon le moyen de paiement se construisent en Functions sans modifier le thème.
- Une Function s'exécute dans le checkout, y compris avec Shop Pay et Apple Pay, ce que les manipulations de panier côté thème ne garantissaient jamais.
- Les Functions ont des limites strictes (pas d'appel réseau, taille et temps d'exécution bornés) qui imposent d'écrire les règles avant le code.

Les réductions personnalisées sur Shopify se construisent aujourd'hui avec Shopify Functions, sur tous les plans, et plus avec les Scripts, qui sont dépréciés et que les marchands Plus devaient abandonner avant 2025. Une Function est un petit programme que Shopify exécute dans le checkout pour décider quelle remise s'applique, à qui, et dans quelles conditions. Elle couvre les paliers, les remises par groupe de clients, les exclusions, les cadeaux automatiques et les remises liées au moyen de paiement, avec deux avantages que les anciennes approches n'avaient pas : elle fonctionne dans les checkouts accélérés, et elle ne touche pas au thème.

Cet article s'adresse au marchand qui a une règle de remise en tête et veut savoir si elle est faisable, à celui qui a encore des Scripts à migrer, et à celui qui hésite entre une application et un développement sur mesure.

## Pourquoi les Scripts ont disparu et ce qui les remplace

Les Scripts étaient des programmes Ruby réservés à Shopify Plus, exécutés côté serveur pour modifier les prix, la livraison et les moyens de paiement. Ils ont été remplacés parce qu'ils ne tenaient pas dans le nouveau checkout.

Le nouveau checkout de Shopify, avec Checkout Extensibility en remplacement de checkout.liquid, repose sur des composants que Shopify contrôle et sur des points d'extension déclarés. Les Scripts, qui modifiaient librement les objets de la commande, n'entraient pas dans ce modèle. Shopify Functions est la réponse : une logique compilée en WebAssembly, exécutée dans un environnement isolé, avec une entrée définie (le panier, le client, les métachamps) et une sortie définie (les remises à appliquer).

Trois différences comptent pour un marchand. Les Functions sont disponibles sur tous les plans pour les réductions, la livraison et la validation, là où les Scripts exigeaient Plus. Elles s'exécutent dans tous les checkouts, y compris Shop Pay et Apple Pay. Et elles sont installées via une application, ce qui leur donne une interface de configuration dans l'administration plutôt qu'un éditeur de code.

Notre guide [des Scripts aux Functions](/shopify-scripts-to-functions) détaille la migration technique ; ici, le sujet est ce que vous pouvez construire.

## Ce qu'une Function de réduction sait faire

Une Function de réduction lit le panier et le client, applique vos règles, et renvoie une ou plusieurs remises. À l'intérieur de ce cadre, presque toute règle exprimable en une phrase se construit.

Les paliers par quantité ou par montant. « 10 % à partir de trois articles, 15 % à partir de cinq », ou « 20 euros de remise à partir de 150 euros de panier ». Notre article sur [les remises par paliers](/shopify-tiered-discounts) montre les variantes courantes, et [la remise par volume sans application](/shopify-volume-discount-without-app) explique ce que Shopify fait nativement avant d'aller plus loin.

Les remises par client. Un pourcentage pour les clients avec un tag « pro », un tarif pour les membres d'un programme, une remise de bienvenue pour un client sans commande précédente, si cette information est portée par un tag ou un métachamp client.

Les exclusions. Pas de remise sur les nouveautés, sur une marque précise, sur les produits déjà soldés. Une Function lit les collections, les tags et les métachamps produit et exclut ce qui doit l'être.

Les cadeaux et les offres croisées. Un produit offert à partir d'un montant, un deuxième article à moitié prix, une remise sur un accessoire quand le produit principal est dans le panier. Le cas du [« un acheté, un offert »](/how-to-set-up-bogo-on-shopify) est le plus demandé.

Les remises selon le moyen de paiement ou la livraison. Une remise pour le paiement anticipé, la livraison offerte en point relais Mondial Relay au-dessus d'un seuil, des frais de port réduits pour les clients d'une zone. Ces cas mêlent Function de réduction et Function de livraison.

## Besoin de réduction et façon de le construire
| Besoin | Shopify natif | Application publique | Function sur mesure |
| --- | --- | --- | --- |
| Code promo simple ou remise automatique sur une collection | Oui | Inutile | Inutile |
| Paliers par quantité ou par montant | Partiel | Oui | Oui, règles exactes |
| Remise par tag ou métachamp client | Non | Selon l'application | Oui |
| Exclusions fines (tags, métachamps, marque) | Partiel | Selon l'application | Oui |
| Cadeau automatique à partir d'un seuil | Non | Oui | Oui |
| Remise selon le moyen de paiement | Non | Rare | Oui |
| Règles combinées propres à votre marque | Non | Rarement | Oui |

La colonne de gauche mérite un test avant tout projet. Les remises automatiques et les codes promo de Shopify couvrent plus de cas qu'on ne le pense, avec des conditions par montant, par quantité et par groupe de clients. Le projet Function commence là où ces conditions s'arrêtent.

## Ce qu'une Function ne peut pas faire

Les Functions ont des limites strictes, et un projet qui les ignore se découvre au moment du test.

Pas d'accès réseau. Une Function ne peut pas interroger votre CRM, votre ERP ou un service de calcul. Tout ce dont elle a besoin doit être dans Shopify avant le checkout : tags, métachamps, attributs de panier. Si votre règle dépend d'une donnée externe, il faut d'abord la synchroniser dans Shopify.

Pas d'historique. Une Function voit le panier et le client courant, pas les commandes passées. « 10 % pour les clients qui ont commandé trois fois » suppose qu'un processus ait posé un tag ou un métachamp « fidèle » sur le client au préalable, par exemple avec Shopify Flow.

Une taille et un temps d'exécution bornés. La logique doit rester simple et déterministe. Ce n'est pas une contrainte pour des règles de remise ; c'en est une pour des calculs qui parcourent des milliers de lignes.

Des combinaisons encadrées. Shopify décide ce qui peut se cumuler par classe de réduction (produit, commande, livraison), et chaque réduction déclare ses combinaisons. Une Function ne contourne pas ces règles ; elle les suit. Notre article sur [l'empilement des réductions](/shopify-discount-stacking) explique le mécanisme, et [les limites des Shopify Functions](/shopify-functions-limitations) fait la liste complète.

> **Écrivez la règle en français avant d'écrire une ligne de code**
> 
> La majorité des projets de réduction qui dérapent le font parce que la règle n'était pas écrite. « 15 % pour les pros » ne dit pas si la remise s'applique aux produits soldés, si elle se cumule avec un code, ni ce qui se passe quand un pro a aussi un code de bienvenue. Une page de règles avec des exemples de panier, validée avant le développement, est le livrable le plus rentable du projet.

## Application publique ou Function sur mesure

La question revient à chaque projet, et la réponse dépend de la distance entre votre règle et ce que les applications font déjà.

Une application publique de réductions ou de paliers convient quand votre règle est standard, quand vous voulez une interface prête aujourd'hui, et quand l'abonnement mensuel reste raisonnable par rapport au chiffre d'affaires concerné. Vérifiez qu'elle applique la remise par Function et non par manipulation du panier dans le thème ; la seconde méthode est contournée par les checkouts accélérés et ajoute un script sur chaque page.

Une Function sur mesure convient quand la règle est propre à votre marque, quand plusieurs règles doivent s'articuler, ou quand vous refusez qu'une application tierce injecte quoi que ce soit dans le thème. Le coût est un développement unique plutôt qu'un abonnement, et l'interface de configuration est construite pour vos règles, pas pour celles de tout le monde.

Chez ByteInfy, une Function ou une extension de checkout se chiffre entre 1 500 et 3 000 $ au moment de la rédaction, avec l'interface de configuration dans l'administration. La page [extensions de checkout et Shopify Functions](https://byteinfy.com/services/shopify-checkout-extensions) décrit le cadrage.

## Comment se passe un projet de Function de réduction

Un projet de Function se déroule en quatre étapes, et la première est la plus longue.

Les règles. Elles sont écrites en français courant avec des exemples de panier, y compris les cas limites : que se passe-t-il avec un produit soldé, avec deux remises applicables, avec un client qui a un tag et un code. Cette page est validée avant tout développement.

Le développement. La Function est construite dans une application personnalisée installée sur votre boutique, avec une interface de configuration dans l'administration : seuils, pourcentages, collections exclues, tags de clients. Votre équipe pourra modifier ces paramètres sans développeur.

Les tests. Sur un checkout de prévisualisation, avec les paniers des exemples, dans le flux standard et avec Shop Pay. Les combinaisons avec vos codes promo existants sont testées explicitement.

La mise en service. Activée dans une période calme, avec un moyen de la désactiver en un clic. Une Function de réduction touche à l'argent ; le retour arrière doit être prêt avant la mise en ligne.

## Migrer des Scripts vers les Functions : les pièges

Une boutique Plus qui avait des Scripts a probablement plusieurs règles à réécrire, et certaines ne se traduisent pas mot pour mot.

## Migration Scripts vers Functions
- Inventorier chaque Script en production, avec sa règle en français et un exemple de panier
- Identifier les Scripts qui dépendaient de données non disponibles dans une Function (historique, appels externes)
- Prévoir le tagging ou les métachamps qui remplaceront ces données, par exemple via Shopify Flow
- Reconstruire les règles de cumul, qui ne se comportent pas comme dans les Scripts
- Tester chaque règle dans le flux standard et dans Shop Pay
- Comparer les totaux d'un échantillon de commandes réelles entre l'ancien et le nouveau comportement
- Désactiver les Scripts seulement après la validation, en gardant l'inventaire

Le piège le plus courant concerne l'empilement. Les Scripts permettaient des cumuls que Shopify ne permet plus par défaut, et un marchand qui offrait « 10 % pro » plus « livraison offerte » plus « code de bienvenue » doit décider explicitement ce qui se cumule, dans le nouveau cadre. Le second piège concerne l'ordre d'application : les Scripts s'exécutaient dans un ordre écrit, les Functions selon les classes de réduction et les règles de combinaison.

Pour les marchands qui se demandent si Plus reste nécessaire une fois les Scripts partis, notre article [faut-il passer à Shopify Plus](/fr/shopify-plus-faut-passer-que-fait-agence-shopify) répond : pour les réductions, non.

## Préparer une opération commerciale avec des Functions

Une Function de réduction se teste avant une opération, pas pendant.

Le calendrier commercial français et belge (soldes d'hiver et d'été, Black Friday, fêtes) concentre les remises sur des périodes courtes, où une règle mal réglée coûte cher en quelques heures. Trois précautions : tester les combinaisons avec les codes de l'opération une semaine avant, vérifier que la page de campagne annonce exactement ce que la Function applique, et garder le bouton de désactivation à portée de main.

Le message affiché au client est le second sujet. Une Function applique la remise ; elle n'affiche rien sur la page produit ou dans le panier. L'affichage (« plus que 20 euros pour la livraison offerte ») passe par une section de thème ou une extension d'application, alimentée par les mêmes seuils. Une bonne agence livre les deux ensemble, sinon le client découvre la remise au checkout, après la décision.

Pour les exemples concrets, notre article [réductions avec Shopify Functions](/shopify-functions-discounts) montre le code d'une Function de paliers.

**Vous avez une règle de remise que Shopify ne fait pas nativement**
Écrivez-la en une phrase, avec un exemple de panier, et vous recevrez une réponse sur ce qui est faisable en Function, ce qu'une application couvre déjà, et un prix fixe.

[Parler à ByteInfy](https://byteinfy.com/contact)

## FAQ

### Qu'est-ce qu'une Shopify Function ?

Un petit programme compilé en WebAssembly que Shopify exécute dans le checkout pour appliquer une logique personnalisée : réductions, règles de livraison, moyens de paiement, validation du panier.

### Les Shopify Scripts fonctionnent-ils encore ?

Non. Les Scripts sont dépréciés et les marchands Plus devaient migrer vers Shopify Functions avant 2025. Une boutique qui en dépend encore doit réécrire sa logique en Functions.

### Faut-il Shopify Plus pour utiliser les Functions ?

Non pour les réductions, les règles de livraison et la validation du panier. Certaines personnalisations de l'étape de paiement et la marque du checkout restent liées à Plus.

### Puis-je créer une réduction par paliers sans application ?

Oui, avec une Function de réduction qui lit le panier et applique un pourcentage selon la quantité ou le montant.

### Comment se combinent plusieurs réductions ?

Shopify gère les combinaisons par classe de réduction (produit, commande, livraison) et chaque réduction déclare avec quoi elle peut se cumuler.

### Combien coûte une Function de réduction sur mesure ?

Chez ByteInfy, une Function ou une extension de checkout se chiffre entre 1 500 et 3 000 $ au moment de la rédaction, avec l'interface de configuration dans l'administration pour que votre équipe modifie les règles sans développeur.

### Une Function peut-elle appeler un service externe ?

Non. Elle s'exécute sans accès réseau, avec les données du panier, du client et des métachamps fournies en entrée. Toute donnée nécessaire doit être disponible dans Shopify avant le checkout.
