Skip to main content

GrowRamp Integration

Track GrowRamp affiliate sales back to your ads in Cometly. Step-by-step setup for the pixel, Initiate Checkout, and the GrowRamp postback so every GrowRamp payout is attributed to the ad that earned it.

This guide connects your GrowRamp account to Cometly. When you're done, Cometly will show you, for every ad you run: how many people landed on your page, how many clicked through to the offer, how many bought, and how much GrowRamp paid you. That means you can finally see which ads make you money and which ones burn it.

You need one thing before you start:
A landing page that you own, where your ads send people. If your ads link straight to your GrowRamp tracking link, Cometly never sees the visitor and cannot track anything.

There are 9 steps. Do them in order. Don't skip any.



Step 1: Put the Cometly pixel on your landing page

Why: The pixel is what lets Cometly see visitors on your page. Every other step in this guide depends on it. No pixel, no tracking.

  1. Log in to Cometly.

  2. Click Space Setup.

  3. Click Install & Verify Cometly Pixel.

  4. Click Copy Code. This copies your pixel. It is unique to your account, so always copy it from your own Cometly screen.

  5. Open your landing page in your page builder. Find the box for head code. Depending on your builder it may be called "Header code", "Custom head code", or "Tracking codes > Head".

  6. Paste the pixel into that box. Save and publish your page.

  7. Go back to the same Cometly screen. Type your landing page's domain into the domain box, exactly the way it looks in your browser. If your browser shows www., type the www. too.

  8. Click Add Domain. Then click < > Test Script, then Confirm.

  9. You want to see Verified. If you see Failed, the code is not in the head of your page. Go back to number 5 and try again.



Step 2: Add Cometly parameters to your ads

Why: This is how Cometly knows which ad sent each visitor. Without it, Cometly sees your visitors but can't tell you which ad deserves the credit, and your reports will say "Unattributed."

You add a small piece of text to your ads. Copy the line for the ad platform you use.

Meta / Facebook Ads:
Open your ad in Ads Manager. Scroll down to the Tracking section. Paste this into the URL parameters box:

comet_source={{site_source_name}}&comet_ad_id={{ad.id}}&comet_placement={{placement}}


TikTok Ads:
Open your ad. Find URL builder, then Custom parameters. Add this:

comet_source=tiktok&comet_ad_id=__CID__

Google Ads:
Open your campaign. Go to Campaign settings > Additional settings > Campaign URL options. Paste this into the Tracking template box:

{lpurl}?comet_source=google&comet_network={network}&comet_campaign={campaignid}&comet_ad_group={adgroupid}&comet_ad_id={creative}&comet_keyword={keyword}


Do this for every ad or campaign that sends people to your landing page. Need more help with this step? See Setup URL Parameters For All Channels.



Step 3: Add the View Content event to your landing page

Why: This records a View Content every time someone lands on your page. That gives you two things. First, you see how many landing page views each ad actually produced, not just what the ad platform claims. Second, once you finish Step 8 (Initiate Checkout), Cometly can calculate your LP CTR%: the percentage of visitors who click through from your landing page to the offer. If your LP CTR% is low, your ads are fine but your page isn't convincing people. If it's high but sales are low, the problem is on the offer side. You can't know which without this event.

  1. Open your landing page in your page builder.

  2. Find the box for footer code. Depending on your builder it may be called "Body end code", "Footer code", or "Before </body>".

  3. Copy this and paste it into that box:

<script>
comet('view_content');
</script>


Save and publish your page.



Step 4: Add the Cometly affiliate script to your landing page

Why: Here's the problem this solves. The sale doesn't happen on your page. It happens on GrowRamp's side, minutes or hours later. So Cometly needs a way to recognize that the person who bought is the same person who clicked your ad. This script does that: it quietly attaches the visitor's Cometly ID to your offer links. When GrowRamp reports the sale, that ID comes back with it, and Cometly matches the sale to the exact ad that brought the visitor.

Don't worry about this script breaking your page. If the pixel is missing, or a visitor has no Cometly ID, the script simply does nothing. It never changes anything else on your page.

You need to make one small edit to the script before you paste it. Here's how.

4a. Figure out where your offer button points

Click-for-click funnels are set up in one of two ways, and the domain you give the script depends on which one is yours. Open your landing page, right-click your offer button, choose Copy link address, and look at what you copied.

Setup 1: your button goes straight to your GrowRamp tracking link. The copied link looks like your tracking link from the GrowRamp dashboard, something like:

https://growramp.everflowclient.io/click?oid=123&aid=456

This is the most common setup. Your domain for the script is the part between https:// and the next /. In this example:

growramp.everflowclient.io

Write it down and go to 4b.


Setup 2: your button goes to a page the vendor controls, and their page has the GrowRamp tracking link. The copied link is some other website, something like:

https://vendoroffer.com/watch-video

Here the visitor's Cometly ID has to make an extra hop: your page attaches it to the vendor link, and the vendor's page has to carry it forward onto the tracking link. That only works if the vendor's page passes URL parameters through. Test it before you continue. It takes one minute:

  1. Open the vendor's page in your browser with ?sub1=TEST123 added to the end of the address, like this: https://vendoroffer.com/watch-video?sub1=TEST123

  2. On the vendor's page, right-click their offer button and choose Copy link address.

  3. Look for sub1=TEST123 in the copied link.

If it's there: great, the vendor passes parameters through. Your domain for the script is the vendor page's domain. In this example: vendoroffer.com. Write it down and go to 4b.

If it's not there: ask the vendor: "Can you pass incoming URL parameters through to your tracking links?" This is a standard request in affiliate marketing and most vendors know exactly what it means. Until they do it, sales from that funnel can't be matched to your ads.

One more situation: your ads don't go to your page at all. They go straight to a page the vendor controls. Then there's nowhere to put the pixel or this script, and Cometly can't see the visitor. Two ways to fix it, in order of preference:

  • Put a simple page of your own in front. A headline, a few lines, one button. Send your ads there. Now you're in Setup 1 or Setup 2 above, and Steps 1 to 4 all work. This is what most successful media buyers do anyway.

  • If you work directly with the vendor, ask them to add your Cometly pixel (Step 1) and the two footer scripts (Steps 3 and 4) to their page. This only makes sense when that page is dedicated to your traffic. Vendors won't add your pixel to a page shared with other affiliates.

4b. Edit and paste the script

Here is the script:

<script> (function () {   // Replace ONLY the text between the quotes on the next line:   var NETWORK_DOMAIN = 'PASTE-YOUR-TRACKING-DOMAIN-HERE';    function addTokenToLinks() {     try {       if (typeof cometToken !== 'function') return;       var token = cometToken();       if (!token) return;       var links = document.querySelectorAll('a[href]');       for (var i = 0; i < links.len<script>
(function () {
// Replace ONLY the text between the quotes on the next line:
var NETWORK_DOMAIN = 'PASTE-YOUR-TRACKING-DOMAIN-HERE';

function addTokenToLinks() {
try {
if (typeof cometToken !== 'function') return;
var token = cometToken();
if (!token) return;
var links = document.querySelectorAll('a[href]');
for (var i = 0; i < links.length; i++) {
try {
var url = new URL(links[i].href);
if (url.hostname !== NETWORK_DOMAIN) continue;
url.searchParams.set('sub1', token);
links[i].href = url.toString();
} catch (e) {}
}
} catch (e) {}
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', addTokenToLinks);
} else {
addTokenToLinks();
}
})();
</script>
  1. Copy the whole script into a notes app.

  2. Find the line near the top that says PASTE-YOUR-TRACKING-DOMAIN-HERE.

  3. Replace only that text with the tracking domain you wrote down in 4a. Keep the quote marks. Touch nothing else.

Using our example, that line would now look like this:

var NETWORK_DOMAIN = 'growramp.everflowclient.io';


Paste the edited script into the same footer code box from Step 3, right below the View Content script.


Save and publish your page.

4c. Check it worked

  1. Open your landing page in your browser.

  2. Right-click your offer button and choose Copy link address.

  3. Paste it into a notes app. The link should now end with sub1= followed by a long number:

https://growramp.everflowclient.io/click?oid=123&aid=456&sub1=39871234561209874563

That long number is the visitor's Cometly ID riding along to GrowRamp. See the sub1=? You're good. Move on.

Don't see it? Check these three things:

  1. The domain you typed into the script must match your tracking link's domain exactly. Compare them letter by letter.

  2. The pixel from Step 1 must be in the head of the page.

  3. The script must be in the footer, and the page must be published.



Step 5: Get your Cometly webhook link

Why: A webhook link is a private address where GrowRamp will report your sales to Cometly. Think of it as Cometly's mailbox for GrowRamp. You're about to hand that address to GrowRamp in Step 6.

  1. In Cometly, click Space Setup.

  2. Click Add Events.

  3. Click Webhooks.

  4. Choose Purchase.

  5. Cometly shows you your link. It looks something like this:

https://comet-serve.com/YOUR_SPACE_ID/webhook/YOUR_WEBHOOK_ID

The two long strings in the middle are unique to your account. Always copy the link from your own Cometly screen, never from this article.


Copy your link into a notes app. You need it in Step 6.


Keep this Cometly tab open. You come back to it in Step 7.



Step 6: Add the Purchase postback in your GrowRamp dashboard

Why: A postback is GrowRamp's way of reporting a sale the moment it happens. Right now GrowRamp isn't telling anyone. In this step you tell it: "every time I make a sale, report it to my Cometly link, and include the sale amount and the visitor's Cometly ID."

  1. Log in to your GrowRamp dashboard.

  2. In the left menu, click Postbacks.

  3. Click + Postback (top right).

  4. Set these three options:

    • Level: Global (this means: report sales from all my offers, not just one)

    • Type: Conversion (this means: report sales)

    • Method: Postback

  5. Now build the URL. Take your Cometly link from Step 5 and add this text to the very end of it, with no space in between:

?comet_token={sub1}&amount={payout_amount}&order_id={conversion_id}&idempotency_key={conversion_id}&event_time={timestamp}&offer_name={offer_name}&email=

That text is the list of details you want GrowRamp to include with each sale: the visitor's Cometly ID, your payout, an order number, and the time.


So if your Cometly link was:

https://comet-serve.com/YOUR_SPACE_ID/webhook/YOUR_WEBHOOK_ID

Your finished URL is:

https://comet-serve.com/YOUR_SPACE_ID/webhook/YOUR_WEBHOOK_ID?comet_token={sub1}&amount={payout_amount}&order_id={conversion_id}&idempotency_key={conversion_id}&event_time={timestamp}&offer_name={offer_name}&email=


Paste your finished URL into the URL box.


Click Save.


Two things people get wrong here:

  • Don't edit the parts in curly braces like {sub1} or {payout_amount}. They are placeholders. GrowRamp fills them in automatically with each sale's real values.

  • The email= at the very end, with nothing after it, is correct. Leave it exactly like that.



Step 7: Tell Cometly what the data means

Why: GrowRamp is now sending sale reports to Cometly, but Cometly doesn't yet know what each piece means. In this step you label the pieces once: "this one is the sale amount, this one is the visitor ID." After that, every future sale is understood automatically.

  1. Go back to the Cometly tab from Step 5.

  2. Click Check for Data. Cometly is now waiting to receive something.

  3. Send it a test sale:

    • In your GrowRamp dashboard, go to Offers, open your offer, and look for a button called Test Conversion or Generate Test Conversion. Click it.

    • Can't find that button? Message your affiliate manager: "Can you fire a test conversion on my account so I can check my postback?" This is a normal request. They do it all the time.

  4. Within a minute, a request appears in Cometly. Click Continue.

  5. You now see Cometly's fields with a dropdown next to each one. Set them exactly like this:

Cometly field

Pick this from the dropdown

Email

email

Event Time

event_time

Comet Token

comet_token

Amount

amount

Order Id

order_id

Idempotency Key

idempotency_key

If a row isn't showing (like Comet Token or Amount), click Add field, pick the Cometly field, then pick the matching dropdown value.

About Email: affiliate offers almost never include customer info, so the email field will be empty. That is completely normal. You're promoting someone else's product, so GrowRamp doesn't share the buyer's details with you. Cometly doesn't need them: it matches the sale using Comet Token instead. Map Email to the empty email field and move on. The only exception: if you work directly with a vendor and their postback includes the buyer's email, map Email to that field instead.

  1. Click Save & Continue.

  2. If a Filters screen appears, skip it. Don't add anything.

  3. Turn the event On.



Step 8: Track Initiate Checkout (clicks to the offer)

Why: this records an Initiate Checkout every time someone clicks from your page through to the offer. Together with View Content from Step 3, this completes your funnel picture and unlocks the LP CTR% metric: out of everyone who landed on your page, what percentage clicked through? Now you can tell exactly where you're losing people. Lots of views but few clicks? Fix your page. Lots of clicks but few sales? The problem is the offer, not you.

It works the same way as Steps 5 to 7, just for clicks instead of sales.

  1. In Cometly, go to Space Setup > Add Events > Webhooks, and this time choose Initiate Checkout. Copy the new link it gives you. This is a different link from the one in Step 5.

  2. In your GrowRamp dashboard, go to Postbacks and click + Postback again. Set:

    • Level: Global

    • Type: CPC (might be called Click. This means: report clicks instead of sales)

    • Method: Postback

  3. Take your new Cometly link and add this to the very end, no space:

?comet_token={sub1}&order_id={transaction_id}&idempotency_key={transaction_id}&event_time={timestamp}&offer_name={offer_name}&email=


Paste the finished URL into the URL box. Click Save.


Back in Cometly, click Check for Data. Then open your own landing page and click your offer link to send a test click.


Map the fields the same way you did in Step 7: Email to email, Event Time to event_time, Comet Token to comet_token, Order Id to order_id, Idempotency Key to idempotency_key. There is no Amount for clicks.


Click Save & Continue and turn the event On.


Don't see a CPC or Click option when creating the postback? It may be turned off for your account. Ask your affiliate manager: "Can you enable click postbacks on my account?" And if they can't, no problem: skip this step. Your Purchase tracking from Steps 5 to 7 still works completely. You just won't get the LP CTR% metric.



Step 9: Connect your ad accounts

Why: everything so far tracks what you earn. This step pulls in what you spend, so Cometly can put the two side by side and show you profit and return per ad.

  1. In Cometly, click Integrations.

  2. Click Connect next to the platform you advertise on (Meta, TikTok, or Google).

  3. Log in and pick your ad account.

You're done. Every sale GrowRamp approves now shows up in Cometly as a Purchase, with your payout as the revenue, attached to the exact ad that earned it. View Content and Initiate Checkout show you where people drop off along the way, and your ad spend sits right next to it all.



How long until I see data?

GrowRamp reports a sale within seconds of approving it. Cometly reports can take up to 60 minutes to refresh.


One thing to know: if GrowRamp later reverses or changes a sale, Cometly keeps the original. Each sale is reported only once.



Something's not working

Nothing shows up in Check for Data (Step 7)

  • In your GrowRamp dashboard, open the postback and make sure it is Active.

  • Compare your postback URL against Step 6 character by character. The most common mistake is a missing ? between your Cometly link and comet_token.

  • Sales that are on hold don't get reported. Only approved ones do. Ask your affiliate manager to fire a test conversion.

Purchases show up in Cometly but say "Unattributed"

  • The Comet Token is arriving empty. Go back to Step 4c. If your offer links don't have sub1= on them, the script is not running, or the tracking domain in the script doesn't match your links.

  • Make sure the pixel from Step 1 is in the head, and the scripts from Steps 3 and 4 are in the footer.

  • Make sure the ad that sent the visitor has the Step 2 parameters on it. If the visit wasn't tracked, there is nothing to attach the sale to.

No View Content showing

  • The Step 3 script is not in the footer, or the Step 1 pixel is missing from the head.

No Initiate Checkout showing

  • Initiate Checkout comes from GrowRamp's click report (Step 8), not from your page. Check that the CPC/Click postback exists and is Active, and that your offer links carry sub1= (Step 4c).

The same purchase shows up twice

  • Make sure Idempotency Key is mapped to idempotency_key in Step 7.

Revenue is $0

  • GrowRamp may hide payout amounts on postbacks. Ask your affiliate manager: "Can you enable payout visibility on my postbacks?"

Did this answer your question?