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.
Installation
Script tag options
The #property and product parameters control which widget loads:
| Parameter | Values | Description |
|---|---|---|
property | Your property key | Required. Found in Dashboard → Properties. |
product | inline, sticky, all | Which 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:
| Plan | Properties | Monthly shares |
|---|---|---|
| Free | 1 | 50,000 |
| Pro | 10 | Unlimited |
| Agency | Unlimited | Unlimited |
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
- Networks — drag to reorder, click to add/remove (40+ supported)
- Color — Social colors, White, Black, Gray, or custom
- Size — Small, Medium, Large
- Labels — Name, Share counts, or None
- Corners — 0 to 50px border radius
- Alignment — Left, Center, Right
- Language — 10 supported languages
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>
EU Cookie Consent Free
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.
California Cookie Banner (CCPA) Free
"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:
| Event | Detail | Description |
|---|---|---|
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
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.
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.
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.
Yes. Add the script once in <head> and place as many widget divs as you need. Each renders independently.
Add script-src 'self' https://tossit.link and connect-src 'self' https://tossit.link to your CSP header.
Use the built-in migration wizard: Dashboard → Properties → Migrate from ShareThis. It imports your existing share counts automatically.
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.
Agency plan users can remove branding entirely via the White-label panel in the configurator, or toggle it in Dashboard → Settings.
On the Free plan (50,000 shares/month), buttons continue to display but counts stop updating until the next billing cycle. No service interruption.
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.