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.