Error - Invalid action link (invalid_action)

This is quite common actually, but easily avoidable once you know why 😃

The most common situation for these invalid action errors is this:

  1. You load a link or page > go to some lander. The tracker thinks you are on the lander node
  2. You click the action link. The tracker sees you are on the lander > executes action 1 > redirects you to the offer. The tracker now thinks you are on the offer node
  3. You go back to the previous lander, usually because the action link opened in a new tab, or you used the back button and your lander doesn't have our JS on it. You're now on the lander node, but the tracker thinks you are on the offer node.
  4. You click the action link. Now, if the action URL does not contain data that tells the tracker you are a repeat click from the lander, or if this is not in referrer, then the tracker still thinks you are on the offer node.
  5. The tracker tries to execute action 1 on the offer node, but it doesn't exist, so it returns the error you posted.

The second most common is when you go directly to your page URL, not using a generated redirect/direct link --> then click the action.

In this case, there is no tracking context (unless you have embedded our fluxDefaults JS code), and so it can't determine what to do.

There's a few ways to ensure that this doesn't happen:

  • The #1 way is to put our JS on your pages, using the code you get from the edit lander dialog (or funnel builder > get links/JS for that page). This way when the page loads, our JS scans for action links and injects the visitor's ID into the link, along with the node they are coming from. With this, repeat clicks have clear context for the tracker.
  • Secondly, make sure to use generated links from the funnel builder everywhere. If you need to track organic traffic, embed defaults on the page. Always test your links in new incognito windows to test clearly.

Regarding default parameters: these default parameters are not overrides, but rather fallbacks the tracker will use if it has no context/info about the user.

I mean these parameters:

If the tracker knows what node/funnel the user is in, it will always execute the relevant action. If that action doesn't exist on that node, you get this error.

These default params above rarely get used actually -- its bad if they have to get used, as it indicates tracking has fallen apart and some fallbacks had to be relied on!

Was this article helpful?