Features Pricing Docs Contact Login Get started free

Documentation

Everything you need to add privacy-first social sharing to your website in minutes.

Quick start

Get TossIt share buttons on your site in 2 steps:

Step 1 — Add the script to your <head>

<script
  src="https://tossit.link/js/tossit.js#property=YOUR_PROPERTY_KEY&product=inline"
  async></script>

Replace YOUR_PROPERTY_KEY with the key shown in your dashboard. You'll find it under Properties → Install code.

Step 2 — Place the widget div

<div class="tossit-inline-share-buttons"></div>

That's it. TossIt automatically reads the page title and URL to build the share links.

One script, all widgets. Add the script once per page and you can place as many different widget divs as you need — share buttons, reactions, cookie banner, follow buttons — all from the same script tag.

Installation

Script tag options

The #property and product parameters control which widget loads:

ParameterValuesDescription
propertyYour property keyRequired. Found in Dashboard → Properties.
productinline, sticky, allWhich widget type to initialise. Use all to activate every widget on the page.

WordPress / CMS

Paste the script tag inside your theme's header.php before </head>, or use a plugin like Insert Headers and Footers to add it without editing theme files.

Single-page apps (React, Vue, etc.)

Add the script tag to your index.html. TossIt detects URL changes automatically via the History API, so shares always use the current page URL.

Properties

A property represents one website. Each property has a unique key used in the script tag. You can have multiple properties (e.g. blog, main site, docs).

Plans allow:

PlanPropertiesMonthly shares
Free150,000
Pro10Unlimited
AgencyUnlimitedUnlimited

Inline share buttons Free

Horizontal row of share buttons placed inline with your content. Best used near article headlines or at the end of blog posts.

<!-- In <head> -->
<script src="https://tossit.link/js/tossit.js#property=KEY&product=inline" async></script>

<!-- Where you want buttons -->
<div class="tossit-inline-share-buttons"></div>

Options you can configure

Sticky bar Free

Fixed sidebar that stays visible as users scroll. Appears on the left or right edge.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=sticky" async></script>

No additional div required — the bar renders automatically.

Floating bar Free

Slim bar pinned to the bottom of the screen, ideal for mobile visitors.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=floating" async></script>

Image share overlay Free

Share buttons appear when a visitor hovers over any image on the page.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=image" async></script>

Reaction buttons Free

Emoji reaction buttons (👍 ❤️ 😂 😮 😢 😡 🔥 👏) with live per-reaction counts stored per URL.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=reaction" async></script>

<div class="tossit-reaction-buttons"></div>

Follow buttons Free

Link to your social profiles. Configure your profile URLs in the dashboard configurator.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=follow" async></script>

<div class="tossit-follow-buttons"></div>

Email signup widget Free

Inline email capture form. Connects to Mailchimp, Brevo (Sendinblue), or any webhook/Zapier URL.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=email_signup" async></script>

<div class="tossit-email-signup"></div>

GDPR/PECR compliant cookie notice with Accept and Decline buttons. Zero cookies set by TossIt itself.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=cookie_consent" async></script>

No div needed. The banner appears automatically on page load if the visitor has not yet consented.

"Do Not Sell My Data" notice for CPRA/CCPA compliance, styled for California visitors.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=cookie_la" async></script>

GDPR Pro Pro

Full cookie consent manager with category sliders (Essential, Functionality, Analytics, Advertising), a detailed settings modal showing exactly what the site will and won't do, and a persistent gauge button after acceptance.

<script src="https://tossit.link/js/tossit.js#property=KEY&product=gdpr_pro" async></script>

No div needed. Configure banner text, colors, gauge icon, position, and cookie categories in the dashboard.

JS event

Listen for consent changes in your own code:

window.addEventListener('tossit:gdpr', function(e) {
  console.log(e.detail.categories); // e.g. ['essential', 'analytics']
});

Privacy Policy Generator Free

Generate a GDPR/CCPA compliant privacy policy in 2 minutes. The policy is stored in your TossIt account and rendered inline on your site — no external hosting needed.

<!-- Step 1: TossIt script -->
<script src="https://tossit.link/js/tossit.js#property=KEY&product=privacy_policy" async></script>

<!-- Step 2: Place where you want the policy to appear -->
<div class="tossit-privacy-policy"></div>

Generate and edit your policy in Dashboard → Apps → Privacy Policy Generator.

A/B Testing Pro

Test two different button configurations against each other. 50% of visitors see Variant A, 50% see Variant B — split is persistent per visitor (stored in localStorage).

Set up Variant B in the configurator for any widget. Share counts are tracked separately per variant. Compare results in the Analytics tab.

White-label Agency

Remove all TossIt branding from share popups and widgets. Configure custom "Powered by" text and URL to replace the TossIt attribution.

Configure in Dashboard → Apps → [widget] → White-label panel.

API reference Agency

Direct API access is available on Agency plan. Use your API key from Dashboard → Settings.

Get share counts

GET https://tossit.link/api/counts.php?key=PROPERTY_KEY&url=PAGE_URL

{
  "url": "https://example.com/post",
  "total": 1234,
  "networks": {
    "facebook": 450,
    "twitter": 312,
    "linkedin": 180
  }
}

Get trending content

GET https://tossit.link/api/trending.php?key=PROPERTY_KEY&limit=10

{
  "trending": [
    { "url": "https://...", "total": 890, "title": "..." },
    ...
  ]
}

JavaScript events

TossIt fires custom events on the window object you can listen to:

EventDetailDescription
tossit:share{ network, url, propKey }Fired when a user clicks any share button
tossit:gdpr{ categories }Fired when GDPR Pro consent changes
window.addEventListener('tossit:share', function(e) {
  console.log('Shared on', e.detail.network, e.detail.url);
});

FAQ

Does TossIt set cookies?

No. TossIt never sets tracking cookies. Visitor preferences (GDPR consent, A/B variant) are stored in localStorage only, which is not transmitted to any server.

Will it slow down my website?

The script tag uses async, so it never blocks page rendering. The script is 42KB minified and gzipped. Share counts are fetched separately after page load.

How does share counting work?

Counts are tracked server-side each time a visitor clicks a share button. They are NOT scraped from social networks (those APIs are mostly closed). Counts reflect actual clicks through TossIt.

Can I use multiple widgets on the same page?

Yes. Add the script once in <head> and place as many widget divs as you need. Each renders independently.

Does it work with Content Security Policy (CSP)?

Add script-src 'self' https://tossit.link and connect-src 'self' https://tossit.link to your CSP header.

How do I migrate from ShareThis?

Use the built-in migration wizard: Dashboard → Properties → Migrate from ShareThis. It imports your existing share counts automatically.

Can I self-host TossIt?

TossIt is designed as a hosted service. The backend (PHP + MariaDB + Memcached) handles count storage and API responses. Contact us if you need an on-premise deployment.

How do I remove the TossIt branding?

Agency plan users can remove branding entirely via the White-label panel in the configurator, or toggle it in Dashboard → Settings.

What happens if I exceed my share limit?

On the Free plan (50,000 shares/month), buttons continue to display but counts stop updating until the next billing cycle. No service interruption.

Is there a WordPress plugin?

Not yet — it's on the roadmap. For now, paste the script tag in your theme's header or use a "Insert Headers and Footers" plugin.