LPWA Ads Tracking Software with Konektor.id
Konektor.id is LPWA ads tracking software for ads that send people to a landing page, then to a WhatsApp chat. The tracking script keeps the click identifier from the ad address, the WhatsApp Link button carries a visitor code into the chat, and each lead status change sends an event to Meta, Google Ads, TikTok, LinkedIn, and ChatGPT Ads.
From Rp199.000/month. 14-day trial.
What is the problem with tracking ads on the landing page to WhatsApp route?
This route has three jumps. A person taps an ad, reads a landing page, then moves to the WhatsApp app. The payment usually happens in that chat. The ad platform does not move along.
The click identifier lives in the address of the landing page. WhatsApp has no such address. The first message of the customer holds only text, so the chat and the click look like two events that have no link.
As a result, the ad report stops at the page visit or the button tap. The platform knows that someone stopped by. It does not know who finally paid.
LPWA solves this with one small code. The code is born on the landing page and travels inside the opening message. That code reconnects the chat to the click.
A fictional example
Imagine a language school named Kursus Contoh. The school runs a Google ad to a landing page for an English class package. The names and numbers below are fictional.
A prospective student named Sari taps the ad. The page address holds a gclid. Sari reads the class schedule, taps the WhatsApp button, then sends a message that holds the visitor code.
Support answers the schedule question, then changes the status of Sari to Qualified. Ten days later Sari pays Rp1,200,000. Support changes the status to Closed won and fills in the Closing value. Google Ads receives a purchase event with that value.
How does Konektor.id track the LPWA route?
The route runs in seven stages.
- A person taps the ad. The platform adds a click identifier to the destination address. The Ad link templates add the campaign name and the ad ID.
- The tracking script on the landing page reads the click identifier and the UTM parameters. The script keeps them in the browser for 30 days.
- The script also creates a visitor code in the form
[K-XXXXX], then attaches the click identifier and that code to the Konektor.id links on the page. - The visitor taps the WhatsApp Link button. Konektor.id creates a New lead, stores the click identifier on that lead, then opens WhatsApp.
- WhatsApp opens with an opening message that holds the visitor code. The customer sends that message to the destination number.
- Konektor.id reads the code from the message text and matches the chat to the lead from stage 4. The name and the phone number of the customer fill in on that lead.
- The team or an automation rule changes the lead status. Each change reads the Event for each lead status table and sends an event to every connected platform.
Click identifiers for each platform
| Platform | Identifier in the page address | Proof of a click in Strict mode |
|---|---|---|
| Meta | fbclid, plus fbc and fbp if they are in the address | fbclid |
| Google Ads | gclid, wbraid, gbraid | gclid, or hashed contact data on the Google Ads API route |
| TikTok | ttclid, plus ttp | ttclid |
li_fat_id | li_fat_id | |
| ChatGPT Ads | oppref | oppref |
How a platform creates its identifier follows the documentation of that platform. According to Meta, fbclid is added to the address when a person taps an ad on Facebook or Instagram. According to Google, auto-tagging adds gclid to the destination address. According to TikTok, ttclid is added to the landing page address when a person taps an ad. The source links are in the Sources section.
The visitor code is in the message text
The code [K-XXXXX] enters the message through the Default Message Template in WhatsApp Links. If you write the tag [uniquecode], you decide its position. Without that tag, the code is added at the end of the message.
The code sits in the text, not in a WhatsApp cookie. So the match does not depend on the app that the customer uses. The customer only needs to send the message and keep the code.
If the button uses a wa.me link
The script still adds the visitor code to the text of a wa.me link. But a tap on that link is not recorded as a lead. When the message arrives, Konektor.id matches the chat to the visit, and the lead status stays at Page view. No event goes out until the status changes.
What if the customer opens WhatsApp on another device?
The chat still matches if the message that is sent still holds the visitor code. The code is in the message text, so the sending device does not change the result.
The click identifier is different. It is kept in the browser where the person tapped the ad. If that person opens the landing page again from another browser or device, and the page address holds no identifier, the new lead carries no click identifier.
Two steps help in this case:
- Use the Ad link templates, so that the campaign data stays in the destination address.
- Choose Send all under Send strategy if you want leads without an identifier to go out anyway. The platform then matches them through the hashed email and phone number.
The second choice sends more leads, including leads that did not come from an ad click. Read the Conversion Strategy guide before you choose.
How is LPWA different from an ad that opens WhatsApp directly?
An ad that opens WhatsApp directly has no page, so the tracking script does not run. The click identifier arrives with the first message of the customer. Konektor.id reads that route in a different way for each platform.
For a Meta Click-to-WhatsApp ad, read Meta ads tracking software. For a TikTok messaging ad, read TikTok ads tracking software. Those two pages explain the events, the requirements, and the limits of each route.
This page covers the route that has a landing page. That route gives one advantage: the page address already holds the click identifier before the chat starts. One tracking flow applies to all five ad platforms.
How do you read the result in the Delivery log?
Open Tracking & Ads, then Conversions, then the Delivery log tab. One status change creates one row for each connected platform.
The status Sent means that the platform accepted the event. The status Skipped means that Konektor.id chose not to send that event. The reason shows in that row.
Check three things during a test:
- A test lead without an ad click shows Skipped in Strict mode. That is not a failure.
- A platform that is not in Website Tracking receives nothing.
- Sent does not mean the ad report already holds the conversion. Check Events Manager or Ads Manager on that platform too.
Double events from your own pixel
Konektor.id sends events from the server. The tracking script does not load the browser pixel of a platform by default. If you install your own pixel, make sure that one event does not leave from two places.
Meta and TikTok merge an event from the pixel and an event from the server only when the event name and the event_id are the same. Without that, both events count. The official sources are in the Sources section.
Ad policies
Your ads still follow the policy of each platform: Meta Advertising Standards, Google Ads policies, and TikTok Advertising Policies. This page does not change those rules. Konektor.id only sends the conversion data that your lead already holds. The policy links are in the Sources section.
Which events does Konektor.id send to your ad platform?
| Event | When it is sent |
|---|---|
| Status New: the WhatsApp Link button is tapped | In the default Sales campaign type: Meta AddToCart, Google generate_lead, TikTok ViewContent, LinkedIn PAGE_VIEW, ChatGPT Ads lead_created. |
| Status Contacted | Meta Contact, Google working_lead, TikTok Contact, LinkedIn CONTACT. ChatGPT Ads receives no event for this status in the default mapping. |
| Status Responded and Qualified | Meta and TikTok receive Lead, LinkedIn gets LEAD then QUALIFIED_LEAD, Google gets working_lead then qualify_lead. ChatGPT Ads gets qualified_lead, a custom event, for Qualified only. |
| Status Hot, Proposal, Negotiation, Invoice sent | Only in the Sales type, and the event name differs on each platform. For example Meta InitiateCheckout and ChatGPT Ads checkout_started at Proposal. The Leads type sends nothing. |
| Status Closed won | Meta and TikTok Purchase, Google purchase, LinkedIn PURCHASE, ChatGPT Ads order_created. The value and the currency go along when Send conversion value is on. |
| Status Loss | Meta receives LeadLost and Google receives close_unconvert_lead. TikTok, LinkedIn, and ChatGPT Ads receive no event for Loss. |
| Your own choice of event | In the Event for each lead status table, you can pick another event or Not sent for each status and each platform. |
Click identifiers: fbclid, gclid, wbraid, gbraid, ttclid, li_fat_id, oppref
What do you need?
- The tracking script is installed on every landing page, and the Website Tracking panel has received its first real event.
- The WhatsApp button on the landing page uses the Direct link from WhatsApp Links. A tap on a wa.me link does not create a lead.
- The ad destination address holds the click identifier from the platform, plus the Ad link templates from Website Tracking for campaign and ad data.
- At least one ad platform is added in Website Tracking, with the data from that platform.
- The destination WhatsApp number is connected to Konektor.id, so a chat can match a lead.
- The customer sends the opening message without deleting the visitor code in the form [K-XXXXX].
- The team or an automation rule changes the lead status. That change triggers the event.
What are the limits?
- The click identifier stays in the browser where the click happened, for 30 days. A visit from another browser or device does not inherit it, unless the page address holds it.
- Konektor.id reads the click identifier from the page address, or from the copy it keeps itself in the browser. For oppref only, the ChatGPT pixel cookie is also read. An identifier that never reached the address is not read.
- For LinkedIn, Konektor.id reads the li_fat_id that sits in the page address. If your LinkedIn ad address does not hold it, a LinkedIn lead carries no click identifier.
- A landing page that redirects visitors to another address must pass the click identifier to the final page. Google states this for gclid.
- A match through the phone number works only if a lead with that number is already stored. A customer who deletes the visitor code and uses a new number does not match the click.
- A visitor who taps the button and closes WhatsApp without a message stays a lead with no phone number. That lead waits for a message or for a change by the team.
- In Strict mode, a lead without proof of a click from that platform shows Skipped in the Delivery log. This result is normal for a test without an ad.
- The Delivery log proves that the platform accepted the event. It does not prove the report or the attribution in Ads Manager.
- Konektor.id sends each default event name once for each lead. An event that you set yourself in the table does not follow this rule.
- If you install your own browser pixel, Meta and TikTok merge events only when the event name and the event_id are the same. Without that, one event can count twice.
- Konektor.id does not promise lower ad costs or a given ad result.
Who is it for, and who is it not for?
Good fit for
- Businesses that run ads to a landing page, receive chats through a WhatsApp button, and close sales in the chat.
- Teams that advertise on more than one platform and want one tracking flow for all of them.
- Support teams that change the lead status and want each key status to become a signal for the ad platform.
Not a fit for
- Businesses that only run ads that open WhatsApp directly with no landing page. The Meta and TikTok pages cover that route.
- Businesses that keep a wa.me link on the landing page button and will not replace it.
- Businesses that look for a promise of ad results or a given cost per result.
How do you set it up?
Install the tracking code on the landing page
Open Tracking & Ads > Website Tracking. Click Create tracking code if the code is not there, then View code. In the Install yourself tab, click Copy Code and paste it in the head of every landing page.
Add the ad platform
In Website Tracking, click Add ad platform. At Where do your ads appear?, choose the platform, enter the data from that platform, then click Save. Repeat for each platform that you use.
Copy the Ad link templates
In Website Tracking, open Ad link templates and choose the platform tab. Enter the Landing page, click Copy, then paste the result in the destination address field of the ad on that platform.
Create a WhatsApp Link
Open Links & Domains > WhatsApp Links, then click Create Link. Enter the Rotator Name, the Link Slug, the Default Message Template, and the destination number with Add Number. Click Create Link.
Put the Direct link on the button
In the Direct row, click Copy Link. Paste that link on the WhatsApp button of the landing page. Do not use a wa.me link on that button.
Connect your WhatsApp number
Open Connection > Connect WhatsApp and choose the path of your number. After the connection succeeds, a chat with the visitor code matches the same lead.
Install the status rule
Open Conversations > Automation Rules > Templates, choose Auto Mark as Contact, then click Install.
Set the event for each lead status
Open Tracking & Ads > Conversions. Choose a Campaign type, read the Event for each lead status table, choose Strict mode or Send all under Send strategy, then click Save changes.
Test in a private window
Open a test ad address in a private window, tap the WhatsApp button, and send the coded message. Change the lead status to Closed won, then open Conversions > Delivery log and read the row of each platform.
How much does it cost?
From Rp199.000/month. 14-day trial.
| Plan | Per month |
|---|---|
| Starter | Rp199.000 |
| Pro | Rp499.000 |
| Enterprise | Rp1.999.000 |
Frequently asked questions
What is LPWA?
LPWA means Landing Page to WhatsApp. The ad sends people to a landing page, then a button on that page opens a WhatsApp chat. Because there is a website visit, the tracking code can read the click identifier from the page address.
What is the difference between LPWA and CTWA?
A CTWA ad opens WhatsApp directly from a Meta ad, with no page. LPWA goes through a landing page, so the click identifier comes from the page address and the tracking script runs. LPWA is not limited to Meta either.
What is LPWA for Meta Ads?
It is a Meta ad whose destination is a landing page, not a direct chat. Konektor.id reads fbclid from the page address and sends events to Meta when the lead status changes. The Meta events are on the Meta ads tracking page.
How does a WhatsApp chat match the ad click?
The Direct link creates a lead when the button is tapped, then puts the code [K-XXXXX] in the opening message. When that message reaches the connected number, Konektor.id reads the code and matches the chat to the same lead.
Which click identifiers does Konektor.id read?
fbclid for Meta, gclid, wbraid, and gbraid for Google, ttclid for TikTok, li_fat_id for LinkedIn, and oppref for ChatGPT Ads. UTM parameters and the campaign data from the Ad link templates are saved too.
Why must the WhatsApp button use the Direct link and not wa.me?
A tap on the Direct link is recorded as a New lead and carries the click identifier. A tap on a wa.me link is not recorded as a lead. The visitor code still goes in the message, but the lead stays at Page view until something changes.
What happens if the visitor opens WhatsApp on another device?
The visitor code is in the message text, so the chat still matches from any device, as long as the code stays. The click identifier stays in the browser where the click happened.
Why does my event show Skipped in the Delivery log?
The most common cause: Strict mode is on, and the lead carries no click identifier from that platform. This result is normal in a test without an ad. Choose Send all if you want to send leads without a click identifier.
Next steps
Sources
- fbp and fbc parameters · Meta for Developers · Checked October 14, 2026
- Handling duplicate pixel and server events · Meta for Developers · Checked October 14, 2026
- About auto-tagging · Google Ads Help · Checked October 14, 2026
- About TikTok Click ID · TikTok for Business Help Center · Checked October 14, 2026
- Event deduplication · TikTok for Business Help Center · Checked October 14, 2026
- Advertising Standards · Meta Transparency Center · Checked October 14, 2026
- Google Ads policies · Google Advertising Policies Help · Checked October 14, 2026
- TikTok Advertising Policies · TikTok for Business Help Center · Checked October 14, 2026
