Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Have the power of multiple apps in one!
Are you a Shopify Plus customer and need help migrating to Shopify Functions? We're happy to help! Contact our support team and we can help you with the migration!
Function Junction is designed to empower Shopify merchants by simplifying the process of creating and managing customizable backend logic without the need for any coding knowledge.
By leveraging Shopify Functions, our app provides a seamless and intuitive interface for merchants to enhance their store's functionality with ease. Here are some key reasons why merchants are using Function Junction:
Function Junction removes the necessity for merchants to write or alter code. Our intuitive interface enables you to effortlessly define and implement custom functions, making advanced customizations accessible to everyone, no matter their technical expertise.
Additionally, our straightforward function builder simplifies the process, allowing you to create and manage functions with ease, similar to the classic IF, THEN statements with AND, OR conditions.
With Function Junction, you can create a wide range of custom functions to meet your specific business needs.
Examples of functions you can create without a costly developer:
Product discounts, apply a discount to individual items in the cart based on your rules.
Order discounts, discounts applied to an entire order that meet your conditions.
Shipping discounts, customized shipping discounts.
Tags, apply discounts to customers with a certain tag like wholesale customers.
Bundle discounts, increase number of items per transaction with easy-to-build bundle discounts.
Function Junction will also be adding new templates for building payment, delivery, fulfillment functions and more.
Shopify Functions offer a robust framework for extending your store's capabilities. Function Junction seamlessly integrates with this framework, ensuring that your custom functions are executed efficiently and reliably. This integration allows you to leverage Shopify's powerful backend infrastructure while enjoying the simplicity of our app.
Our app is designed with merchants in mind. Our easy-to-use templates help you build functions instantly. You can toggle which functions are active and saved later use. Setup your campaigns ahead of time and toggle promotions with ease.
One powerful yet easy-to-use app. No complicated installation process. By removing the need for custom development and enabling you to create and manage functions independently, Function Junction saves you time and reduces costs associated with hiring developers. This allows you to focus on growing your business and delivering exceptional customer experiences.
As your business grows and evolves, Function Junction grows with you. The app's flexibility ensures that you can adapt your store's functionality to meet changing demands and market conditions, providing a scalable solution that supports your long-term success.
With Function Junction, you can create custom discounts that can replace Shopify Scripts. We have a number of pre-built templates to help get you started or you can reach out to our support team!
Here are some examples of Functions you can create
Receive a 15% order discount when you spend $200 or more.
Save 10% off a product when you buy two or more.
Buy five items or more and save 10% on the entire order.
Buy one and get one free.
Give 20% off to wholesale customers or members
20% off with a discount code.
Free shipping for customers tagged "VIP".
Create tiered discounts for products with a certain tag.
Flash sale on items without having to modify the price on each product.
Buy two promotional items and save 15%.
Buy two items from a collection and save 10%.
Buy an item from Collection A and another from Collection B to save 15%.
Save 25% when you buy a product and also subscribe for refills.
Offer free shipping for VIP customers
Rename shipping method names for international customers
Only offer specific specific delivery methods for certain cart values
Welcome to Function Junction
Now you can build powerful custom functions for discounts, shipping, bundles, and more with Function Junction. Best of all, there's no complicated coding required.
Get started quickly with our ready-made templates or build your own functions from the ground up. Seamlessly migrate your existing scripts or design entirely new solutions to meet your store’s unique needs.
Effortless, user-friendly function builder.
Create from scratch or use ready-made templates.
Replace old scripts with new functions.
Available to all Shopify plans.
Add advanced capabilities to your store.
Transition from scripts effortlessly! Shopify is replacing script tags with functions. Start using the power of functions now with Function Junction before script tags are deprecated in mid-2025.
Function Junction has a rich set of easy-to-use templates that's familiar and ready for you to use.
Start with discount template or use the create function button to build a function from scratch.
Shopify functions allow you to customize the backend logic used on the Shopify platform. Currently, these are the function types available by Shopify:
Functions run securely on the Shopify backend. Function Junction helps you build and manage these functions without any coding. Our easy-to-use function builder helps you build simple to complex functions with dropdown menu options and easy to understand logic options.
Unlock the power of Shopify functions with Function Junction.
Function Junction can be used with any Shopify plan to build advanced functionality.
Function Junction protects your privacy and never requests or shares your data.
Quick start template - Discounted shipping for customers
Easily build shipping discount campaigns like free shipping over a holiday period or 50% off shipping when ordering two or more items. Function Junction applies shipping discounts right into the checkout. Ideal for shoppers that use the Buy Now feature in Shopify.
In this example function, the customer can qualify for free shipping if their cart subtotal is over $100 or if they have five or more items in the cart.
At checkout, the customer will see their shipping discount and custom message:
Function Junction applies shipping discounts right into the checkout.
In this example, there are two trigger conditions. We've used the OR statement to allow any of the two conditions to execute the trigger. When the cart has items that qualify, the action is executed. In the action, we simply apply a total shipping discount based on percentage:
Start by choosing the Product discount template from the Home screen:
Or, from the Templates folder:
Name your shipping discount campaign. The name will help you identify the campaign in your main list of functions. You can easily toggle campaigns on and off from there.
With Function Junction, you can build custom triggers to activate your function. Use the dropdown options to build the trigger requirement.
In the free shipping over $100 example, we've used two conditions:
The cart subtotal needs to be $100 or more.
Or, if there are five items or more in the cart (is greater than four).
Function Junction will perform an action based on the trigger requirement. Customize the campaign's reward or action here.
In this example, the customer is rewarded with a 100% discount on shipping when any of the trigger requirements are reached:
Use the Add a Condition option to customize further with rate name, rate method or rate price:
Add an optional message about your campaign in the Offer message box:
The Offer message will appear in the checkout under subtotal:
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
Quick start template - Complete order discount
With Function Junction, you can easily create special campaigns by rewarding customers for reaching a specific total in the cart. Discounts can be based on a set amount or percentage.
The Order Discount template applies a discount after the subtotal calculation of all items in the cart:
if the customer spends $200 or more on Skincare products, they will receive $25 off their total order.
The customer sees their discount in the subtotal area of the cart.
For the trigger, we've used one condition. If the cart subtotal is greater or equal to $200, execute the action. In the action, the function is checking if the items in the cart belong to the Skincare collection. If so, then the fixed total discount is applied:
Start by choosing the Product discount template from the Home screen:
Or, from the Templates folder:
Name your product discount campaign. The name will help you identify the campaign in your main list of functions. You can easily toggle campaigns on and off from there.
With Function Junction, you can build custom triggers to activate your function. Use the dropdown options to build the tigger condition:
In the Skincare promotion example, the cart subtotal needs to be $200 or more. We'll apply additional rules in the Actions section.
Function Junction will perform an action based on the trigger requirement. Customize the campaign's reward or action here.
In this example, the customer is rewarded with $25 off the order total if the products are from the Skincare collection.
Under Action, use the Add a condition option:
In the first condition dropdown, choose Collection:
For the second action condition, use is any:
For the last condition dropdown, choose the collection. We've used the collection Skincare. Multiple collections can be selected.
The last step is the action reward (then
statement). The customer receives a fixed total discount of $25 if the above trigger and action conditions are obtained:
Add an optional message about your campaign in the Offer message box:
This message is displayed after the subtotal in the cart:
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
Quick start template - Provide free shipping to certain customers
Function Junction simplifies discounting for customers with a specific tag.
A Logged-in customer which has been tagged with VIP can qualify for free shipping on any order.
At checkout, the VIP customer will see their shipping discount:
Function Junction applies shipping discounts right into the checkout.
In this example function, the logged-in customer with a VIP tag, receives a free shipping discount even for small orders.
For the trigger, we've used one condition. If the current customer has been tagged with "VIP", execute the action which is a percent value for the shipping discount:
Start by choosing the Product discount template from the Home screen:
Or, from the Templates folder:
Name your product discount campaign. The name will help you identify the campaign in your main list of functions. You can easily toggle campaigns on and off from there.
With Function Junction, you can build custom triggers to activate your function. Use the dropdown options to build the tigger condition. In this example, the trigger is customers tagged with VIP
:
Function Junction will perform an action based on the trigger requirement. Customize the campaign's reward or action here.
In this example, the customer is rewarded with a 100% discount on shipping when any of the trigger requirements are reached:
Add an optional message about your campaign in the Offer message box:
The Offer message will appear in the checkout under subtotal:
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
Duplicate name conflict
If you are experiencing an error when publishing a discount function, it can be due to a name conflict with another discount or function:
Conflicts may appear if your campaign name is already used as a Shopify Discount.
The Shopify Admin contains all discounts including discount functions created by Function Junction:
If you are experiencing a naming error when creating or publishing a discount, it's helpful to understand the type of discounts and how naming is affected.
When creating a discount function in Function Junction, the discount type is set to Automatic. If you manually build an Automatic discount in the Shopify Admin, it's necessary to use a unique or different name for the discount. The Shopify Admin will display an error if a Function Junction discount with the same campaign name is used:
Use unique names when building Function Junction discounts to avoid conflicts with other discounts in your Shopify Discounts folder.
When building a Discount Code type discount in the Shopify Admin, the discount code can be the same as the campaign name of a Function Junction function. However, this will supersede the Function Junction discount function and only execute the Shopify Platform discount code.
If you happen to use the same name, the Shopify discount will be triggered and not the function made in Function Junction. The platform will always supersede a third-party discount.
For test results, use a unique Discount Code from a Function Junction campaign name.
If you're a Shopify Plus merchant, you’ve probably relied on Shopify Scripts to customize discounts, shipping, and payment rules. But big changes are coming—Shopify Scripts will be retired on August 28, 2025.
The good news? Function Junction (aka Shopify Functions) is here to replace them! Here’s what you need to know:
Function Junction is a new Shopify app based on Functions that makes it easy to migrate off of scripts. Instead of manually pasting Ruby scripts, you’ll install Functions as part of an app. These apps run on Shopify’s WebAssembly platform, which means: ✔ Faster performance (under 5ms execution time) ✔ No timeout or CPU memory issues ✔ Scalability for big sales events
📅 Deadline: August 28, 2025 After this date, Shopify Scripts will no longer work. You’ll need to transition to Function Junction before then to avoid disruptions.
Shopify provides a Scripts Customizations Report that shows all your active scripts. To access it:
Go to Shopify Admin > Settings > Apps and Sales Channels.
Click Script Editor.
In the banner, select "Replace Shopify Scripts."
Review your report for customizations in:
Product Discounts
Shipping Rules
Payment Gateways
You can also export this report as a CSV for easy reference.
Once you have your list of scripts, you have two migration options:
🔹 Use Prebuilt Function Junction templates
Function Junction has over 20 pre-built templates to help make the migration process more seamless.
Simply install the app and configure it—no coding required!
🔹 Build Your Own Custom Function Junction Solution
If no app meets your needs, developers can create custom Functions.
Unlike Scripts, Functions must be deployed via the Shopify Partner Dashboard.
Still wondering how Function Junction compares to Shopify Scripts? Here’s a quick breakdown:
Execution Time
Slower, Ruby-based
Faster, WebAssembly-based
Customization
Manual Ruby scripts
Apps & APIs
Performance
Can have timeouts
Runs in <5ms
Scalability
Limited for flash sales
Supports large-scale sales
Deployment
Copy-paste scripts
Installed via apps
Until August 28, 2025, you can run Shopify Scripts and Function Junction together. However, they interact in specific ways:
✅ Line Item Scripts run before Function Junction, meaning they don’t see discounts applied by Functions. ✅ Shipping Scripts run after Function Junction, but can only move or hide shipping options—not rename them. ✅ Payment Scripts run after Function Junction, and can’t modify renamed payment methods.
Ready to migrate? Follow these steps:
1️⃣ Check your Shopify Scripts Customizations Report to see what needs to be replaced. 2️⃣ Decide if you’ll use a Function Junction app or build a custom Function. 3️⃣ Test your Function Junction setup before deactivating old scripts. 4️⃣ Disable Shopify Scripts once everything is running smoothly.
Shopify Scripts are on their way out, but Function Junction brings better performance, reliability, and scalability. Start your migration today so your store is ready before the August 28, 2025 deadline! 🚀
Got questions about the transition? Let us know!
Function Junction application overview
Start by exploring the quick start templates in Function Junction. From the main home screen, you'll find a set of discount functions to apply to your store. With Function Junction templates, you can quickly build functions based on your requirements:
All the Function Junction templates can be found in the Templates folder of App sidebar in your Shopify Admin console.
The functions folder contains a list of created functions. Here, you can toggle and edit your functions. You can also manually create a new function from here.
Options from the functions folder:
Functions folder link from the sidebar.
Create a new function from scratch button.
Toggle published functions.
Edit or delete functions.
Discount functions built with Function Junction will also appear in the Discounts folder of your main Shopify Admin. Each discount have a Shopify handle to identify the discount.
With Function Junction, you can use our easy-to-use starter templates or build complex functions from scratch using the Create a function option. Use the Create a function button to choose from the type of discount to build:
If you need different type of function, send us a message using the Request customization link.
Check our FAQ section to learn more about Function Junction:
Quick start template - Discount items in the cart based on conditions
Easily build campaigns by rewarding customers for items added to the cart. Function Junction can discount items in the cart by an amount or percentage.
The Product discount template applies a discount to each individual item in the cart that qualifies for a discount:
In this Product Discount function, we're rewarding the customer with 50% off each item, if the cart subtotal is greater than $50.
The customer will see the discounted amount for each individual item in the cart with a custom message:
In this example, we've added one trigger condition. The cart subtotal must be over $50 to execute the action. If true, the action will discount each item by the percent value:
Start by choosing the Product discount template from the Home screen:
Or, from the Templates folder:
Name your product discount campaign. The name will help you identify the campaign in your main list of functions. You can easily toggle campaigns on and off from there.
Campaign names must be unique. These names will also appear in the Shopify Admin under Discounts:
With Function Junction, you can build custom triggers to activate your function. Use the dropdown options to build the tigger condition:
Complete the condition for your campaign's requirements:
Tip: You can add additional conditions for more complex situations.
Use the "Add a condition" option for additional conditions
Optional: Additional conditions can be combined with AND, OR options:
Function Junction will perform an action based on the trigger requirement. Customize the campaign's reward or action here.
In this example, the customer is rewarded with 50% off on each item in the cart based on the trigger requirement:
Optional fixed discount: If a fixed discount is chosen, a fixed amount is discounted off each item:
Add an optional message about your campaign in the Offer message box:
The Offer message will be appended to the reward value in the cart:
If left blank, the Campaign Name is added to the cart message.
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
Quick start template - Discounted conditions when products are bundled
Increase your total items per transaction with special bundle discounts. Function Junction can bundle individual products together with a wide range of options including by collection, tags, vendor, type and manually selecting products and variants.
Discounts are applied to each item in the cart that qualify for the bundle discount:
In this example, the customer can save 15% when they bundle products from the Eyes collection and the Lips collection.
Each qualifying item that's bundled will receive the discount. The discount message is displayed in the cart screen:
Function Junction applies the discounts to each qualifying product in the cart.
For the trigger, we've used two conditions. If the cart has an item from the Eyes collection and the quantity is equal or greater than one. And, the cart has an item from the Lips collection with a quantity of one or more, then apply the action. The action verifies the items belong to the chosen collections and the applies a percentage discount to each qualifying item in the cart.
Start by choosing the Product discount template from the Home screen:
Or, from the Templates folder:
Name your product discount campaign. The name will help you identify the campaign in your main list of functions. You can easily toggle campaigns on and off from there.
With Function Junction, you can build custom triggers to activate your function. Use the Condition dropdown options to build the full tigger condition.
In this example, the trigger condition is looking for items in the cart that belong to the Eyes collection AND items in the cart from the Lips collection. Our requirements are one item from each collection to build the bundle:
In the first IF
trigger condition, the function is checking the cart for items. If an item in the cart is from the Eyes collection and is equal to one or more items, the first requirement is reached.
Use the last dropdown to choose your first collection:
In the AND
tigger condition, the function is checking the cart for items. If an item in the cart is from the Lips collection and is equal to one or more items, the second combined requirement is reached.
Function Junction will perform an action based on the combined trigger requirements. Customize the campaign's reward or action here.
In this example, the customer is rewarded with 15% off each bundled item if the products are bundled from the Eyes collection and the Lips collection.
The Discounted Item Selector is used to qualify the items in the cart, and to ensure they match the trigger conditions:
The THEN
condition rewards the customer with their discount if the above conditions match.
Add an optional message about your campaign in the Offer message box:
The Offer message appears with each product that qualifies as a bundle:
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
Quick start template - Special discounts for tagged customers
Function Junction simplifies discounting for customers with a specific tag.
Logged-in customers with a wholesale tag qualify for volume discounts on their order. Items added to the cart for wholesale customers are discounted by 15% off the entire order.
The wholesale customer will see their total discount in the subtotal area of the cart before checkout:
In this example, there are two tiggers. We've used the AND statement which requires that both conditions are true in order to execute the action. For the trigger conditions, we've chosen when a customer who has the "wholesale" tag and adds more than 4 items to the cart (five items required to qualify), the action will apply a 15% discount to the entire order:
Start by choosing the Order discount by customer tag template from the Home screen:
Or, from the Templates folder:
Name your discount by customer tag campaign. The name will help you identify the campaign in your main list of functions:
Example when viewing from Functions folder:
With Function Junction, you can build custom triggers to activate your function. In the wholesale customer example, we've used two conditions:
If the customer tag is wholesale
and the cart items quantity is greater than 4
This requires the customer to be logged-in, has been tagged with wholesale, and is purchasing at least four items to qualify for the 15% discount.
Function Junction will perform an action based on the trigger requirement. Customize the campaign's reward or action here.
In this example, the customer is rewarded with 15% off all items in the cart:
The logged-in customer is tagged with wholesale and is ordering more than four items.
Add an optional message about your campaign in the Offer message box:
The Offer message will be used in the cart totals area as shown above. The campaign name will be used if the Offer message is left blank.
After saving the function, you can return to the main Functions screen to activate and test the function.
Use the Publish toggle to activate your function or to turn off and use at a later time:
You can have multiple function active at the same time. Use the trigger options to ensure the correct campaigns are used for each of your scenarios.
Function Junction is available to all Shopify plans currently
Function Junction will currently run on any Shopify Plan. You can take advantage of advanced functions for your store today without any coding. Our easy-to-use templates get you started right away. Manage all your functions in one central location.
Function Junction uses Shopify's Function APIs which let's you build simple to complex discount functions and more coming soon.
Learn more about Shopify's Function API and availability in this article by Shopify:
Ideas for new Function Junction templates
If you have a scenario where a new function template might be helpful, contact our support team and send us details of your suggestion.
Find the link under the Support folder of Function Junction:
We welcome new template suggestions and ideas.
Effective September 12, 2024
This Privacy Policy describes how Presidio Creative, LLC. (together with its affiliated companies - "Function Junction", "we", or "us") collects, stores, uses and discloses personal data when you interact with Function Junction, including when you visit or interact with any of our linked websites, participate in any of our events, interact with any of our online ads and content, emails, sales and marketing channels, integrations or communications under our control (“sites”, and collectively with our eCommerce Operating System platform, the “Services”).
Please review this Privacy Policy carefully, and please use the information herein to make informed choices. If you have any concerns or questions about our privacy practices, please feel free to contact us. By accessing the sites, registering for an account, or making a purchase from us, you are agreeing to all of the terms set forth in this Privacy Policy.
If you do not agree to this Privacy Policy, do not use the sites, purchase our products, interact with us, or give us any information. Your continued use of the sites and/or of our Services means that you agree to this privacy policy.
Our Services are designed for businesses and are not intended for personal or household use. Accordingly, we treat all personal data covered by this Privacy Policy, including information about any visitors to our sites, as pertaining to individuals acting as business representatives, rather than in their personal capacity.
You are not legally required to provide us with any personal data. If you do not wish to provide us with your personal data, or to have it processed by us or any of our service providers, please do not provide it to us and avoid any interaction with us or with any of our Services.
Specifically, this Privacy Policy describes our practices regarding:
Data Collection & Processing
Data Uses & Lawful Bases for Processing
Data Storage and Transfer
How Long We Retain Your Personal Data
How We Share or Otherwise Disclose Your Personal Data
Cookies and Data Collection Technologies and Do Not Track
Communications
Data Security
Data Subject Rights
Data Controller/Processor
US Privacy Policys
Additional Notice & Contact Details
1. Data Collection & Processing
When we use the term “personal data” in this Privacy Policy, we mean information that identifies, relates to, describes, is reasonably capable of being associated with, or could reasonably be linked, directly or indirectly, to an individual. It does not include aggregated or identified information that is maintained in a form that is not reasonably capable of being associated with or linked to an individual.
We collect the following categories of personal data, with respect to the following types of data subjects:
Merchant Data: personal data that we collect, process and manage on behalf of our business customers (“merchants” or “customers”), as part of our eCommerce Operating System platform (“platform”). We process such Merchant Data on behalf of and under the instruction of the respective customer. Accordingly, this Privacy Policy (which describes Function Junction’s own privacy and data processing practices) does not apply to such processing done on its customers’ behalf. To learn about the Privacy Policy and practices of our customers, please contact them directly.
User Data: personal data concerning our customers’ internal focal persons who directly engage with Function Junction concerning their organizational account, and users of the platform on behalf of such customers, e.g., the account administrators and users, billing contacts and authorized signatories on behalf of the customer (collectively, “users”); as well as the customer’s business needs and preferences, as identified to us or recognized through our engagement with them.
Prospect Data: personal data relating to visitors of our websites, participants at our events, and any other prospective customer, user or partner (collectively, “prospects”) who visits, purchases, or otherwise interacts with our sites and Services.
Specifically, we collect or generate the following types of personal data about such individuals through the Services:
Usage, login credentials, and device information concerning customers, users and prospects (connectivity, technical and aggregated usage data, such as user agent, IP addresses and approximate location based upon such IP addresses;
Information concerning our customers, users and prospects (contact and business details such as name, email, phone number, position, workplace and professional information, and related business insights, our communications with such individuals (correspondences, sensory information including call and video recordings, and transcriptions and analyses thereof), feedback and testimonials received, contractual and billing details, as well as any expressed, presumed or identified needs, preferences, attributes and insights relevant to our potential or existing engagement), purchasing details including interest and/or purchase history, commercial information, including records of our products or services purchased, obtained, or considered);
Personal data contained in Customer Data which is provided by our customers or processed on their behalf and under their instruction, which may also include any of the types of personal data described above (with respect to users or other individuals whose data is contained in the Customer Data).
2. Data Uses & Lawful Bases for Processing
If you reside or are using the Services in a territory governed by privacy laws under which “Consent” is the only or most appropriate lawful basis for the processing of personal data as described herein (in general, or specifically with respect to the types of personal data you expect or elect to process or have processed by us or via the Services, or due to nature of such processing), your acceptance of our Terms of Service (or the execution of another service agreement with Function Junction) and this Privacy Policy will be deemed as your consent to the processing of your personal data for all purposes detailed in this Privacy Policy, unless applicable law requires a different form of consent. If you wish to revoke such consent, please contact us at privacy@quizkitapp.com.
We do not sell your personal data for the intents and purposes of the California Consumer Privacy Act (CCPA) or California Consumer Rights Act (CPRA) and have not sold your personal data in the past.
3. Data Storage and Transfer
We and our authorized service providers (further detailed below) maintain, store and process personal data in the United States of America, as reasonably necessary for the proper performance and delivery of our Services, for our internal business purposes in the locations where Function Junction resides, or as may be required by law.
While privacy laws may vary between jurisdictions, Function Junction is committed to protect personal data in accordance with this Privacy Policy and customary industry standards, and such appropriate lawful mechanisms and contractual terms requiring adequate data protection, regardless of any lesser legal requirements that may apply in the jurisdiction to which such data is transferred.
4. How Long We Retain Your Personal Data
We retain personal data for as long as we deem it as reasonably necessary in order to maintain and expand our relationship and provide you with our Services and offerings; in order to comply with our legal and contractual obligations; or to protect ourselves from any potential disputes (i.e. as required by laws applicable to log-keeping, records and bookkeeping, and in order to have proof and evidence concerning our relationship, should any legal issues arise following your discontinuance of use), all in accordance with our data retention policy and applicable laws.
To determine the appropriate retention period for personal data, we consider the amount, nature, and sensitivity of the personal data, the potential risk of harm from unauthorized use or disclosure of your personal data, the purposes for which we process your personal data and the applicable legal requirements.
Please note that except as required by applicable law or our specific agreements with you, we will not be obligated to retain your personal data for any particular period, and we are free to securely delete, anonymize or restrict access to it for any reason and at any time, with or without notice to you.
If you have any questions about our data retention policy, please contact us by e-mail at privacy@quizkitapp.com.
5. How We Share or Otherwise Disclose Your Personal Data
We disclose personal data in the following ways:
Service Providers: We engage selected third-party companies and individuals to perform services on our behalf or complementary to our own. Such service providers include hosting and server co-location services, communications and content delivery networks (CDNs), data security services, billing and payment processing services, fraud detection and prevention services, web and product analytics, e-mail distribution and monitoring services, session or activity recording services, remote access services, content transcription and analysis services, performance measurement, data optimization and marketing services, social and advertising networks, content and data enrichment providers, event production and hosting services, e-mail, voicemails, support, enablement and customer relation management systems, and our legal, financial, privacy and compliance advisors (collectively, “service providers“). Our service providers may have access to personal data, depending on each of their specific roles and purposes in facilitating and enhancing our Services, and may only use the data as determined in our agreements with them.
Partnerships: We engage selected business and channel partners, resellers, distributors and providers of professional services related to our Services, which allow us to explore and pursue growth opportunities by facilitating a stronger local presence and tailored experiences for our customers, users and prospects. In such instances, we may share relevant contact, business and usage details with the respective partner, to allow them to engage with those entities and individuals for such purposes. If you directly engage with any of our partners, please note that any aspect of that engagement that is not directly related to the Services and directed by Function Junction is beyond the scope of Function Junction’s Terms of Service and this Privacy Policy, and may therefore be covered by the partner’s own terms and policies. Please review the privacy policys and terms of services of those businesses for more information about what each of those businesses does with your personal data.
Service Integrations: Using our Services to their fullest extent requires connecting or integrating with third-party services, for example, Facebook, Google Ads, Klaviyo, ReCharge, and more in order to share or receive data, which may include personal data, to the platform, or to enrich the data you have processed on the platform. The provider of this connected or integrated third-party service may receive certain relevant data about or from your account on the Services, or share certain relevant data from your account on the third-party provider’s service with our Services, depending on the nature and purpose of such integration. This could include Customer Data and/or User Data. Note that we do not receive or store your passwords for any of these third-party services (but do typically require your API key in order to integrate with them).
Sharing your Feedback or Recommendations: If you submit a public review or feedback, note that we may (at our discretion) store and present your review on our sites and in our Services. If you wish to remove your public review, please contact us at privacy@quizkitapp.com.
Business Customers: Our customers have access to any personal data we process on their behalf in our capacity as a “processor” or a “service provider”, as well as to personal data relating to their users, as it relates to their use of our Services.
Legal Compliance: We may disclose or allow government and law enforcement officials access to your personal data, in response to a subpoena, search warrant or court order (or similar requirement), or in compliance with applicable laws and regulations. Such disclosure or access may occur if we believe in good faith that: (a) we are legally compelled to do so; (b) disclosure is appropriate in connection with efforts to investigate, prevent, or take action regarding actual or suspected illegal activity, fraud, or other wrongdoing; or (c) such disclosure is required to protect our legitimate business interests, including the security or integrity of our products and services.
Protecting Rights and Safety: We may share personal data with others if we believe in good faith that this will help protect the rights, property or personal safety of Function Junction and our employees, any of our prospects, users or customers, or any members of the general public.
Function Junction Subsidiaries and Affiliated Companies: We may share personal data internally within our group, for the purposes described in this Privacy Policy. In addition, should Function Junction or any of its subsidiaries or affiliates undergo any change in control or ownership, including by means of merger, acquisition or purchase of substantially all or part of its assets, personal data may be shared with or transferred to the parties involved in such an event. We may disclose personal data to a third-party during negotiation of, in connection with or as an asset in such a corporate business transaction. Personal data may also be disclosed in the event of insolvency, bankruptcy or receivership.
For the avoidance of doubt, Function Junction may share personal data in additional manners, pursuant to your explicit approval, or if we are legally obligated to do so, or if we have successfully rendered such data non-personal, non-identifiable and anonymous. We may transfer, share or otherwise use non-personal and non-identifiable data at our sole discretion and without the need for further approval.
6. Cookies and Data Collection Technologies and Do Not Track
We and our service providers use “cookies”, anonymous identifiers, pixels, container tags and other technologies in order to provide our Services and ensure that they perform properly, to analyze our performance and marketing activities, for personalization purposes, for product development and improvements, and to personalize your experience.
Cookies are packets of information sent to your web browser and then sent back by the browser each time it accesses the server that sent the cookie. Some cookies are removed when you close your browser tab or window. These are the “Session Cookies”. Some last for longer periods and are called “Persistent Cookies”. We use both types.
We use Persistent Cookies to remember your log-in details and make it easier for you to log-in the next time you access the platform. We may use this type of cookies and Session Cookies for additional purposes, to facilitate the use of the Services’ features and tools. We may also use HTML5 local storage or Flash cookies for the above-mentioned purposes. These technologies differ from browser cookies in the amount and type of data they store, and how they store it.
Whilst we do not change our practices in response to a “Do Not Track” signal in the HTTP header from a browser or mobile application, you can manage your cookies preferences, including whether or not to accept them and how to remove them, through your browser settings. Please bear in mind that disabling cookies may complicate or even prevent you from using the Services.
Please note that if you get a new computer, install a new browser, erase or otherwise alter your browser’s cookie file (including upgrading certain browsers), you may also clear the opt-out cookies installed once you opt-out, so an additional opt-out will be necessary to prevent additional tracking.
For more information on our cookie and data collection technologies practices, you may also use the “Cookie settings” feature available in our Services depending on your location and activity on our Services, as applicable.
7. Communications
We engage in service and promotional communications, through e-mail notifications.
Service Communications: We may contact you with important information regarding our Services. For example, we may send you notifications (through any of the means available to us) of changes or updates to our Services, billing issues, log-in attempts or password reset notices, etc. Please note that you will not be able to opt out of receiving certain service communications which are integral to your use of some of our Services (like password resets or billing notices).
Promotional Communications: We may also notify you about new features, additional offerings, events, special opportunities or any other information we think you will find valuable, as our customer, user or prospect, subject to any necessary collection of your consent as appropriate based on applicable laws. We may provide such notices through any of the contact means available to us, through the Services, or through our marketing campaigns on any other sites or platforms.
If you do not wish to receive such promotional communications, you may notify us at any time by sending an e-mail to: support@quizkitapp.com, or sending us a request through the live chat in the Function Junction website/app, or by following the instructions contained in the promotional communications you receive.
8. Data Security
We have implemented industry-standard physical, procedural and technical security measures, designed to secure your personal data, to minimize the risks of theft, damage, loss of information, or unauthorized access or use of information. However, we cannot guarantee that our Services will be immune from any wrongdoings, malfunctions, unlawful interceptions or access, or other kinds of abuse and misuse. As such, your use of the Services is at your own risk and, when you register an account with us, we encourage you to choose passwords of sufficient length and complexity and not used to access any other site or services, install the latest security updates and anti-virus software on your computer/device to help prevent malware and viruses, not share your password with others, and review your account information periodically. If there is any unexpected activity or inaccurate information or if you have reason to believe that your information is no longer secure, or if you have any questions about our security, please contact us by e-mail at privacy@quizkitapp.com.
9. Your Data Subject Rights
Individuals have rights concerning their personal data as detailed below and, with respect to all requests, we may need to ask you to provide us with certain credentials to make sure that you are who you claim you are, to avoid disclosure to you of personal data related to others and to ask you to provide further information to better understand the nature and scope of data that you request to exercise your rights. Such additional data may be then retained by us for legal, compliance and auditing purposes (e.g., as proof of the identity of the person submitting the request or proof of request fulfillment).
We may redact from the data that we will make available to the requesting data subject any personal data related to others.
Please contact us by e-mail at: privacy@quizkitapp.com or send us a request through the live chat in the Function Junction website/app if you wish to exercise your privacy rights under any applicable law, including the EU or UK General Data Protection Regulation (GDPR), or the California Consumer Privacy Act (CCPA), the California Privacy Rights Act (CPRA), the Virginia Consumer Data Protection Act (VCDPA) and others such as – to the extent applicable – the right to know/request access to (specific pieces of personal data collected; categories of personal data collected; categories of sources from whom the personal data was collected; purpose of collecting personal data; categories of third parties with whom we have shared personal data), to request rectification or erasure of your personal data held with Function Junction, or to restrict or object to such personal data’s processing (including the right to direct us not to sell your personal data to third parties now or in the future), or to port such personal data, or the right to equal services and prices (e.g. freedom from discrimination) (each to the extent available to you under the laws which apply to you). Under some regulatory frameworks, such as the GDPR, you may also have the right to lodge a complaint with the relevant supervisory authority, as applicable. These rights are also subject to various exclusions and exceptions under applicable laws. We will not charge a fee to process or respond to your verifiable privacy request unless it is excessive, repetitive, or manifestly unfounded. If we determine that the request warrants a fee, we will tell you why we made that decision and provide you with a cost estimate before completing your request. Alternatively, we may refuse to comply with your request in such circumstances.
We will not fulfill your request unless you have provided sufficient information that enables us to reasonably verify that you are the individual about whom we collected the personal data.
Please also note that if you request deletion of your personal data, we may deny your request or may retain certain elements of your personal data if it is necessary for us or our service providers. We will provide details of our reasoning to you in our correspondence on the matter.
10. Data Controller/Processor
Certain data protection laws and regulations, such as the EU GDPR, UK GDPR, CCPA/CPRA, and VCDPA, typically distinguish between two main roles for parties processing personal data: the “data controller” (or under the CCPA/CPRA, “business”), who determines the purposes and means of processing; and the “data processor” (or under the CCPA/CPRA, “service provider”), who processes the data on behalf of the data controller (or business). Below we explain how these roles apply to our Services, to the extent that such laws and regulations apply.
Function Junction is the “data controller” of Prospect Data. With respect to such data, we assume the responsibilities of data controller (to the extent applicable under law), as set forth in this Privacy Policy. In such instances, our service providers processing such data will assume the role of “data processor”.
Function Junction is the “data processor” of Customer Data, which we process on behalf of our customers (who are each, as relevant, the “data controller” of such data). In such instances, our service providers who process such Customer Data on our behalf are the “sub-processors” of such data.
Function Junction is both a “data controller” and “data processor” of User Data. Such data is processed by Function Junction for its own purposes (as described in Section 2 above), as an independent ‘controller’; whilst certain portions of it which are included in Customer Data will be processed by us on our customer’s behalf, as a ‘data processor’.
Accordingly, Function Junction processes Customer Data (which includes some User Data) strictly in accordance with our customer’s reasonable instructions and other commercial agreements with such customer.
Our customers are solely responsible for determining whether and how they wish to use our Services, and for ensuring that all individuals using the Services on their behalf, as well as all individuals whose personal data may be included in Customer Data processed through the Services, have been provided with adequate notice and given informed consent to the processing of their personal data, where such consent is necessary or advised, and that all legal requirements applicable to the collection, recording, use or other processing of data through our Services are fully met by the customer, including specifically in the context of an employment relationship. Our customers are also responsible for handling data subject rights requests under applicable law, by their users and other individuals whose data they process through the Services.
11. US Privacy Policys
California Requirements:
This Privacy Policy describes the categories of personal data we may collect and the sources of such information (in Section 1 above), and our retention (Section 4) and deletion rights (Section 9) practices. We also included information about how we may process your information (in Sections 2 through 7), which includes for “business purposes” under the California Consumer Privacy Act (CCPA)/California Privacy Rights Act (CPRA). We do not sell your personal data for the intents and purposes of CCPA. We may disclose personal data to third parties or allow them to collect personal data from our Services as described in Section 5 above, if those third parties are authorized service providers or business partners who have agreed to our contractual limitations as to their retention, use, and disclosure of such personal data, or if you integrate the services of third parties with our Services, or direct us to disclose your personal data to third parties, or as otherwise described in Section 5 above.
You may also designate an authorized agent, in writing or through a power of attorney, to request to exercise your privacy rights on your behalf. The authorized agent may submit a request to exercise these rights by emailing us.
We currently do not collect household data. If we receive a Right to Know or Right to Delete request submitted by all members of a household, we will individually respond to each request. We will not be able to comply with any request by a member of a household under the age of 13 as we do not collect Personal data from any person under the age of 13.
Virginia Requirements:
You may also designate an authorized agent, in writing or through a power of attorney, to request to exercise your privacy rights on your behalf. The authorized agent may submit a request to exercise these rights by emailing us.
We do not disclose a user’s personal data to any third party for such third-party’s direct marketing purposes.
If you have any questions or would like to exercise your rights under the CCPA/CPRA, Nevada S.B.220, or VCDPA, you can contact privacy@quizkitapp.com.
12. Additional Notices & Contact Details
Updates and Amendments: We may update and amend this Privacy Policy from time to time by posting an amended version on our Services. The amended version will be effective as of the date it is published. We will provide prior notice if we believe any substantial changes are involved via any of the communication means available to us or via the Services. After such notice period, all amendments shall be deemed accepted by you. In the event consent is required based on where you reside, you will be asked to consent prior to being allowed to access our Services subsequent to a Privacy Policy update/amendment.
External Links: While our Services may contain links to other websites or services, we are not responsible for their privacy practices. We encourage you to pay attention when you leave our Services for the website or application of such third parties, and to read the privacy policies of each and every website and service you visit. This Privacy Policy applies only to our Services.
Children: Our Services are not designed to attract minors. We do not knowingly collect personal data from minors and do not wish to do so. If we learn that a person who is considered a minor according to applicable law is using the Services, we will attempt to prohibit and block such use and will make our best efforts to promptly delete any personal data stored with us with regard to such minor. If you believe that we might have any such data, please contact us by e-mail at privacy@quizkitapp.com.
Contacting Us: If you have any comments or questions regarding our Privacy Policy, or if you have any concerns regarding your personal data held with us, please contact Function Junction’s privacy team at privacy@quizkitapp.com.
We also use the web analytics tool Google Analytics. This tool helps us understand users’ behavior on our Services, including by tracking page content, and click/touch, movements, scrolls and keystroke activities. Further information about the privacy practices of our analytics service provider is available at: www.google.com/policies/privacy/partners. Further information about your option to opt-out of this analytics service is available at: .
Shopify Platform limitations
Currently only 5 automatic function-based discounts can be active at a time.
Customers can use a maximum of 5 product or order discount codes and 1 shipping discount code on the same order.
Discount codes are not limited to 5. However, customer carts can only have 5 codes added at most.
When creating a discount function in Function Junction, the discount type is set to Automatic. The functions also appear in the Shopify Admin -> Discounts folder:
The maximum number of active or published automatic discounts is five. These are discounts that are automatically applied based on conditions.
Discount code type discounts are marked as "Code" and are not limited to the five restriction by Shopify as these are manual codes that a customer can enter at checkout rather than an automatic rule-based discount.
Function Junction discount functions that are not published are marked as "Expired". These are functions you've created but toggled off for later use. Shopify will display these as expired in the Discounts folder.
Read Shopify's article on automatic discounts: