Integrations
Automatically forward LinkForty events to your existing analytics platforms, messaging tools, and workflow automation services. When someone clicks a link, installs your app, or triggers a conversion, the event data is sent to every connected provider in real time.
Analytics integrations are available on Pro, Business, and Unlimited plans. Free plans do not include integrations. View pricing.
Integrations are set up and managed in the dashboard under Settings → Integrations. (API keys are scoped to links, analytics, templates, and projects — see Authentication.)
Overview
Analytics integrations complement LinkForty's built-in analytics dashboard by sending the same event data to platforms your team already uses. This lets you:
- Unify your data — See deep link performance alongside product metrics in a single tool
- Build funnels — Track the full journey from link click to install to in-app conversion
- Leverage existing workflows — Use your team's existing dashboards, alerts, and reports
- Reduce data silos — No manual exports or custom ETL pipelines needed
Events are forwarded asynchronously after the HTTP response, so integrations never slow down your link redirects or SDK responses.
Supported Providers
LinkForty supports nine integrations across three categories: analytics platforms, messaging tools, and workflow automation services.
Analytics platforms
| Provider | Config Required | Best For |
|---|---|---|
| Segment | Write Key | Teams that use Segment as a data hub — events route to 400+ downstream tools |
| Mixpanel | Project Token | Product analytics, funnels, and retention analysis |
| Amplitude | API Key | Behavioral analytics, cohort analysis, and experimentation |
| PostHog | API Key + optional Host URL | Open-source product analytics, session replays, and feature flags |
| Google Analytics 4 | Measurement ID + API Secret | Web traffic analysis, conversion tracking, and audience insights |
| CleverTap | Account ID + Passcode + Region | Mobile engagement analytics, push notifications, and user segmentation |
Messaging
| Provider | Config Required | Best For |
|---|---|---|
| Slack | Incoming Webhook URL | Real-time team notifications when links are clicked, apps install, or conversions happen |
Workflow automation
| Provider | Config Required | Best For |
|---|---|---|
| Zapier | Webhook URL | Triggering workflows across 5,000+ apps including Google Sheets, HubSpot, and CRMs |
| n8n | Webhook URL + optional Auth Header | Open-source, self-hosted workflow automation as a Zapier alternative |
OneSignal also has a dedicated connector that solves a different problem: keeping iOS deep links working when email link tracking would otherwise break them. Unlike the providers above, it isn't about forwarding analytics — see Email Link Tracking & Deep Links.
Event Types
Each integration can subscribe to any combination of four event types:
| Event | Triggered When | Example Properties |
|---|---|---|
click_event | Someone clicks a short link | Link ID, device type, platform, browser, country, city, UTM parameters, referrer |
install_event | User installs your app (attributed to a link) | Install ID, attribution confidence, deep link data |
conversion_event | User completes an in-app event (attributed installs only) | Custom event name, install ID, link ID, event data |
sdk_event | Any in-app event tracked via the SDK (all events) | Event name, install ID, link ID, custom event data |
Setting Up an Integration
Integrations are configured in the dashboard under Settings → Integrations:
- Find the provider you want to connect
- Click "Configure"
- Enter the required credentials (e.g., Write Key, API Key) — see the provider setup guides below
- Select which event types to forward —
click_event,install_event,conversion_event,sdk_event - Click "Test Connection" to verify your credentials
- Toggle the integration active
Testing a Connection
Use the "Test Connection" button when configuring an integration. It sends a small event to the provider and verifies the response, reporting success or the specific error (e.g. "Invalid write key"). For Google Analytics 4, it validates the payload against the debug endpoint before sending. Fix any reported error before activating.
Provider Setup Guides
Segment
Segment is a customer data platform that routes events to 400+ downstream tools (analytics, marketing, data warehouses).
Configuration:
| Field | Required | Description |
|---|---|---|
| Write Key | Yes | Your Segment source write key |
Where to find it: Segment dashboard → Sources → Select your Node.js source → Settings → API Keys
Events sent:
| LinkForty Event | Segment Event | Identity |
|---|---|---|
| Click | Link Clicked | anonymousId (event ID) |
| Install | App Installed | anonymousId (event ID) |
| Conversion | Custom event name or Conversion | anonymousId (event ID) |
| SDK Event | SDK: {eventName} | anonymousId (event ID) |
Properties mapped: linkId, shortCode, deviceType, platform, browser, country, city, redirectUrl, utmSource, utmMedium, utmCampaign, referer
Mixpanel
Mixpanel provides product analytics for tracking user behavior, building funnels, and measuring retention.
Configuration:
| Field | Required | Description |
|---|---|---|
| Project Token | Yes | Your Mixpanel project token |
Where to find it: Mixpanel dashboard → Settings → Project Settings → Project Token
Events sent:
| LinkForty Event | Mixpanel Event | Identity |
|---|---|---|
| Click | Link Clicked | distinct_id (event ID) |
| Install | App Installed | distinct_id (event ID) |
| Conversion | Custom event name or Conversion | distinct_id (event ID) |
| SDK Event | SDK: {eventName} | distinct_id (event ID) |
Special properties: Mixpanel's built-in properties are automatically mapped:
$browser→ browser name$os→ platform/OS$city→ city name$country_code→ country code
Amplitude
Amplitude provides behavioral analytics for understanding user journeys, running experiments, and building cohorts.
Configuration:
| Field | Required | Description |
|---|---|---|
| API Key | Yes | Your Amplitude project API key |
Where to find it: Amplitude dashboard → Settings → Projects → Select your project → General → API Key
Events sent:
| LinkForty Event | Amplitude Event | Identity |
|---|---|---|
| Click | Link Clicked | device_id (event ID) |
| Install | App Installed | device_id (event ID) |
| Conversion | Custom event name or Conversion | device_id (event ID) |
| SDK Event | SDK: {eventName} | device_id (event ID) |
Note: Events use device_id (not user_id) since LinkForty tracks anonymous link interactions. You can connect these to your own user IDs in Amplitude using their identity resolution features.
PostHog
PostHog is an open-source product analytics platform with session replays, feature flags, and A/B testing.
Configuration:
| Field | Required | Description |
|---|---|---|
| API Key | Yes | Your PostHog project API key |
| Host URL | No | Custom host for EU Cloud or self-hosted instances |
Where to find it: PostHog dashboard → Settings → Project → Project API Key
Host URL values:
- US Cloud (default): Leave blank or use
https://us.i.posthog.com - EU Cloud:
https://eu.i.posthog.com - Self-hosted: Your PostHog instance URL (e.g.,
https://posthog.yourcompany.com)
Events sent:
| LinkForty Event | PostHog Event | Identity |
|---|---|---|
| Click | Link Clicked | distinctId (event ID) |
| Install | App Installed | distinctId (event ID) |
| Conversion | Custom event name or Conversion | distinctId (event ID) |
| SDK Event | SDK: {eventName} | distinctId (event ID) |
Special properties: PostHog geo properties are explicitly set since server-side events would otherwise resolve to the server's IP:
$geoip_country_code→ country code$geoip_city_name→ city name$browser→ browser name$os→ platform/OS
Google Analytics 4
Google Analytics 4 provides web and app analytics using the Measurement Protocol for server-side event tracking.
Configuration:
| Field | Required | Description |
|---|---|---|
| Measurement ID | Yes | Your GA4 Measurement ID (starts with G-) |
| API Secret | Yes | A Measurement Protocol API secret |
Where to find them:
- Measurement ID: GA4 → Admin → Data Streams → Select your stream → Measurement ID
- API Secret: GA4 → Admin → Data Streams → Select your stream → Measurement Protocol API secrets → Create
Events sent:
| LinkForty Event | GA4 Event | Identity |
|---|---|---|
| Click | link_clicked | client_id (event ID) |
| Install | app_installed | client_id (event ID) |
| Conversion | Custom event name (snake_case) | client_id (event ID) |
| SDK Event | sdk_{eventName} (snake_case) | client_id (event ID) |
GA4-specific behavior:
- Event names use snake_case per GA4 conventions
- Event names are truncated to 40 characters (GA4 limit)
- The "Test Connection" button uses GA4's debug endpoint, which validates the payload and returns any errors before sending
- Parameter values are truncated to 100 characters (GA4 limit)
Properties mapped: link_id, short_code, device_type, platform, browser, country, city, redirect_url, utm_source, utm_medium, utm_campaign, referer
CleverTap
CleverTap is a mobile engagement platform with analytics, push notifications, in-app messaging, and user segmentation.
Configuration:
| Field | Required | Description |
|---|---|---|
| Account ID | Yes | Your CleverTap project Account ID |
| Passcode | Yes | Your CleverTap project Passcode |
| Region | Yes | Data center region: US, Europe, India, Singapore, or Middle East |
Where to find them: CleverTap Dashboard → Settings → Project
Region values:
- US →
us1.api.clevertap.com - Europe →
eu1.api.clevertap.com - India →
in1.api.clevertap.com - Singapore →
sg1.api.clevertap.com - Middle East →
mec1.api.clevertap.com
Events sent:
| LinkForty Event | CleverTap Event | Identity |
|---|---|---|
| Click | Link Clicked | identity (event ID) |
| Install | App Installed | identity (event ID) |
| Conversion | Custom event name or Conversion | identity (event ID) |
| SDK Event | SDK: {eventName} | identity (event ID) |
Properties mapped: linkId, shortCode, deviceType, platform, browser, country, city, redirectUrl, utmSource, utmMedium, utmCampaign, referer, plus install-specific fields like installId, attributed, confidenceScore, and deepLinkData.
Slack
Slack is the most common workspace messaging tool. Use this integration to get real-time channel notifications whenever a link is clicked, an install is attributed, or a conversion happens — no dashboard required.
Configuration:
| Field | Required | Description |
|---|---|---|
| Incoming Webhook URL | Yes | A Slack Incoming Webhook URL (must contain hooks.slack.com) |
Where to find it: Create a Slack app at api.slack.com/apps, enable Incoming Webhooks, add a webhook to your workspace, and copy the URL.
Notification format:
Slack messages use Slack's Block Kit for rich formatting. Each message includes a UTC timestamp in the context line.
- Click event —
:link: *Link Clicked* — short_code · country · platform (browser) · via utm_source - Install event —
:iphone: *App Installed* — attributed: ✅, confidence: 94% - Conversion event —
:dart: *event_name* from link short_code - SDK event —
:gear: *SDK: event_name*
Use a separate Slack webhook URL per channel if you want different event types in different channels. Connect LinkForty multiple times — once per channel — and subscribe each integration to a different combination of event types.
Zapier
Zapier is the most popular no-code automation platform. Use this integration to trigger Zaps across 5,000+ apps including Google Sheets, HubSpot, Mailchimp, Notion, Airtable, and CRMs.
Configuration:
| Field | Required | Description |
|---|---|---|
| Webhook URL | Yes | A Zapier "Catch Hook" webhook URL (must contain hooks.zapier.com) |
Setup:
- In Zapier, create a new Zap
- Choose "Webhooks by Zapier" as the trigger
- Select "Catch Hook" as the event
- Copy the generated webhook URL
- Paste it into the LinkForty integration config
- Use the Test Connection button to send a sample event
- Return to Zapier and click "Test trigger" to load the sample data
- Map the fields to whatever action you want
Payload format:
Events are sent as flat key-value JSON for easy field mapping in Zapier:
{
"event": "click_event",
"event_id": "evt_abc123",
"timestamp": "2026-04-08T05:30:00Z",
"organization_id": "org_xyz789",
"link_id": "lnk_def456",
"short_code": "spring-sale",
"device_type": "mobile",
"platform": "iOS",
"browser": "Safari",
"country": "US",
"city": "San Francisco",
"redirect_url": "https://example.com/sale",
"utm_source": "instagram",
"utm_medium": "social",
"utm_campaign": "spring-sale",
"utm_term": null,
"utm_content": null,
"referer": "https://www.instagram.com/"
}
The payload shape varies by event type — install events include install_id, attributed, confidence_score, and deep_link_data; conversion and SDK events include event_name and a serialized event_data JSON string.
n8n
n8n is an open-source, self-hosted workflow automation platform — the privacy-first alternative to Zapier. Use this integration when you want to keep event data on infrastructure you control.
Configuration:
| Field | Required | Description |
|---|---|---|
| Webhook URL | Yes | The production webhook URL of an n8n workflow with a Webhook trigger node |
| Authorization Header | No | Full Authorization header value (e.g., Bearer your-token) if your n8n instance requires authentication |
Setup:
- In n8n, create a new workflow
- Add a Webhook node as the trigger
- Set the HTTP method to
POSTand chooseJSONas the response mode - Save and activate the workflow
- Copy the production webhook URL (not the test URL)
- Paste it into the LinkForty integration config
- Add an Authorization header value if your n8n instance is protected
- Use Test Connection to send a sample event
Payload format:
The same flat key-value JSON format used by Zapier (see above). This makes it easy to access fields directly in subsequent n8n nodes via expressions like {{$json.short_code}} or {{$json.country}}.
Why use n8n instead of Zapier?
- Self-hosted — events never leave your infrastructure
- No per-task pricing — unlimited executions
- Open source (Sustainable Use License)
- Works with any custom internal API
- Integrates with hundreds of services natively
How It Works
When a LinkForty event occurs:
- The link redirect (or SDK endpoint) responds to the user immediately
- After the response, the event is forwarded to the integration system asynchronously
- LinkForty queries all active integrations for the organization
- For each integration, it checks if the event type is in the integration's subscribed events
- Matching providers receive the event via their SDK or API
- Errors are logged but never block or slow down the main request
User clicks link
│
▼
┌─────────────────┐
│ Redirect user │ ◀── Responds immediately
└───────┬─────────┘
│ (async, non-blocking)
▼
┌─────────────────┐
│ Event forwarder │
└───────┬─────────┘
│
┌────┼────┬──────┬──────┬──────┬──────┬──────┬──────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
Segment Mixpanel Amplitude PostHog GA4 CleverTap Slack Zapier n8n
Plan Limits
The number of integrations you can configure depends on your plan:
| Plan | Max Integrations |
|---|---|
| Free | 0 (not available) |
| Pro | 3 |
| Business | 10 |
| Unlimited | Unlimited |
Each provider counts as one integration. For example, connecting both Segment and Mixpanel uses 2 of your plan's integration slots.
Managing Integrations
All of these are done from Settings → Integrations in the dashboard:
- Update configuration — change credentials or which events are forwarded
- Enable / disable — toggle an integration on or off without removing its configuration
- Delete — remove an integration and its stored credentials
- Review — see each connected provider, the events it forwards, and its last-synced time
Sensitive configuration values (API keys, secrets, tokens) are masked in the dashboard — only the first and last 4 characters are shown.
Best Practices
1. Start with the Events You Need
Don't enable all three event types by default. If you only care about click data, subscribe to click_event only. This reduces noise in your analytics platform and keeps your data clean.
2. Test Before Activating
Always use the "Test Connection" button after configuring an integration. This sends a test event and verifies your credentials are correct before any real events flow through.
3. Use Segment as a Hub
If you use multiple analytics tools, consider connecting LinkForty to Segment only. Segment can then route events to Mixpanel, Amplitude, GA4, and hundreds of other tools without needing individual integrations for each.
4. Monitor Last Synced Time
The dashboard shows when each integration last successfully forwarded an event. If this timestamp stops updating, check the error message — it may indicate expired credentials or a provider outage.
5. Coordinate with Webhooks
Integrations and webhooks serve different purposes:
- Integrations send events to analytics platforms in their native format
- Webhooks send raw event data to your own servers for custom processing
You can use both simultaneously. Events are forwarded to all active integrations and webhooks independently.
Troubleshooting
Integration Shows Error Status
Check the error message in the dashboard or via the API. Common causes:
- Invalid credentials — API key was rotated or revoked
- Provider outage — The analytics platform is temporarily unavailable
- Rate limiting — Your analytics provider is throttling requests
Fix: Update credentials, wait for the provider to recover, or contact the provider about rate limits. The error clears automatically on the next successful event.
Events Not Appearing in Provider
- Verify the integration is active — Check the toggle is on
- Check subscribed events — Make sure the event type you expect is enabled
- Check the provider's live/debug view — Most platforms have a real-time event viewer
- Wait a moment — Some providers batch events and show them with a short delay
- Test the connection — Use the test button to confirm credentials still work
Test Connection Succeeds But Events Don't Appear
The test sends a synthetic event. If real events don't appear:
- Verify link clicks are happening — Check the LinkForty analytics dashboard first
- Check event type subscriptions — The integration may only subscribe to
install_eventbut you're clicking links (click_event) - Check provider filters — Some platforms filter test or anonymous events by default
Next Steps
- Set up your first integration from the Integrations page
- View event data in the analytics dashboard
- Configure webhooks for custom server-side processing
- Export historical data via data export