Troubleshooting

Please check the following:


1) Make sure the campaign is enabled
2) The start date must be set to a date in the past
3) Ensure there are no restrictive PAGE, REFERRER and COUNTRY filters
3) If you embedded the giveaway on a landing page, ensure the code has been pasted inside the HTML view
4) Ensure there are no javascript errors on the page (see next section):

Your theme might contain javascript errors that stop Shopify's ayncLoader before our main script gets loaded.
As the script can't be loaded, we can't render the user interface.

These errors might be caused by Apps that left broken parts of code once uninstalled.

Check your browser's console log to see if this line of code is failing:

if (lightJsExclude.indexOf(urls[i]) === -1)

in such case, replace:

if (lightJsExclude.indexOf(urls[i]) === -1) s.type = 'lightJs'; else s.type = 'text/javascript';

with

s.type = 'text/javascript';

According to this post on Shopify:

https://community.shopify.com/c/technical-q-a/javascript-error-on-script-load-lightjsexclude/m-p/1650255

The app AVADA SEO might have caused the issue.
To avoid slowing down your site, our script is queued to load asynchronously by Shopify and might take a few seconds to appear after your site's content loads.

Besides that, please note that some OPTIMIZATION APPS (Ex. Hyperspeed) will load our script only after the user interacts with the page. Make sure to whitelist Giveaway Ninja on those Apps to prevent loading issues.

FAQ

By "monthly users", we mean the total amount of users/customers that can enter (sign up for the giveaway) within a month.

If your plan allows up to 2000 monthly users, you can run one or more giveaways, and a maximum 2000 users can sign up within that month.
We'll send you an email when you reach 70% of the usage quota, and another one when you reach 100%.

Once you hit the quota, the giveaway will continue to show up on the store, but new entrants will see "Ouch! We do not accept other entrants at the moment, please try later!"
Sure! Add a "Make a Purchase" action and enable the "Auto Sign-up" feature.
Yes! You can use the DESIGN > CUSTOM CSS feature to remove the entry counters.

If you want to remove both counters:

.content-info-your-entries, .content-info-total-entries { opacity:0 !important }

Otherwise:

.content-info-total-entries { display:none !important;} .content-info-your-entries { width:40%
Yes, put this code inside the Launch Button Label

<style> #gnj-launch-icon { transform: rotate(270deg); bottom: unset; left: -50px !important; top: 50% } </style>
Yes. You can download a quick guide here: quick guide here.
Both Facebook and X/Twitter use the meta tags placed in your page's header to render a preview.

Due to technical constraints, we can't edit your pages to add those meta tags, but you can use an SEO / Open Graph App to add them to your page.

Alternatively, you can ask your developer to add those tags with liquid.

Here is an example:

1) Create a dedicated landing page for the giveaway ex. /pages/giveaway
2) Edit theme.liquid
3) Locate {% render 'social-meta-tags' %}
If your theme contains {% render 'social-meta-tags' %}, you can use the following code

                                    
    {% if page.title contains 'GIVEAWAY' %}

    <meta property="og:type" content="website">
    <meta property="og:title" content=" --- preview title here ---">
    <meta property="og:description" content=" --- preview description here ---">
    <meta property="og:image" content="https://cdn.shopify.com/s/----">
    <meta property="og:image:secure_url" content="https://cdn.shopify.com/---">

    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content=" --- twitter preview title here ---">
    <meta name="twitter:description" content=" --- twitter preview description here ---">
    <meta name="twitter:image" content="https://cdn.shopify.com/s/files---xxx">

    {% else %}
    {% render 'social-meta-tags' %}
    {% endif %

{% if page.title contains 'GIVEAWAY' %} must be changed with something that matches your giveaway page title, then change the referral url to /pages/giveaway

That way Facebook and Twitter will pull the Opengraph data from the /pages/giveaway page and the theme will render the custom opengraph instead of the default one set from the Shopify Admin.

You can use: opengraph.xyz and https://developers.facebook.com/tools/debug/ to debug your previews.
Sure! You can use the DESIGN > CUSTOM CSS feature to load your own icon.

1) Use the Browser's HTML inspector to locate the entry action id (ex. #action-xxx )
2) Add a CSS rule in the CUSTOM CSS section:

#action-xxx .icon-external-link:before{ content: url("...URL to your icon"); }

This works with emojis as well:

#action-xxx .icon-external-link:before{ content: "😊" }

The page filter features allow you to control where your giveaway appears on your website using URL-based rules.

Show only on page URLs containing:
Use this to display the giveaway ONLY on specific pages. The giveaway will appear if the current page URL contains any of the specified text.

Examples:
• Enter /collections/ to show only on collection pages
• Enter /products/ to show only on product pages
• Enter /pages/landing to show only on a specific landing page
• For multiple page types, add one URL per line:
/products/
/collections/


Hide on page URLs containing:
Use this to prevent the giveaway from appearing on specific pages. The giveaway will be hidden if the current page URL contains any of the specified text.

Examples:
• Enter /cart to hide on the cart page
• Enter /checkout to hide during checkout
• Enter /account to hide on account pages
• For multiple pages, add one URL per line:
/cart
/checkout
/account


How it works:
1. If "Show only on page URLs containing" has values, the giveaway will ONLY appear on pages matching those URLs
2. If "Hide on page URLs containing" has values, the giveaway will be hidden on pages matching those URLs
3. If both are used, the "Show only" filter is applied first, then the "Hide" filter removes specific pages from that set

Tips:
• You can use a temporary querystring variable to test the giveaway live ex. ?test=giveaway
• Use partial URLs for broader matching (e.g., /collections/ matches all collection pages)
• Test your filters by visiting the pages to ensure the giveaway appears/hides as expected
>