AI Pixel Training / Offline Conversions

WARNING : BEFORE SETTING UP OFFLINE/CONVERSION API ATTRIBUTION READ THE FOLLOWING

A) While using the HYROS conversion API for attribution is MORE accurate and USUALLY increases performance it is NOT always instant and will reset learning. SPLIT TEST and TEST performance first by only setting it as a goal or pixel for a few campaigns. AGAIN DO NOT PUSH PIXEL/TARGETING CHANGE ACCOUNT WIDE UNTIL YOU HAVE CONFIRMED BETTER RESULTS.

B) ENSURE in Google that you do not have ACCOUNT wide conversion goals on. If you do this will DOUBLE the conversions entering your account. Set your conversion goal to HYROS conversions OR specific conversion goals. IGNORING THIS CAN MESS UP AUTOMATED BIDDING RULES. DO NOT USE ACCOUNT WIDE CONVERSION GOALS IN GOOGLE AND OUR API AT THE SAME TIME.

C) We are here to help HOWEVER YOU are responsible for the results of changing pixels and targeting in your account. Please make sure you know what you’re doing before changing your targeting and/or swapping pixels. Reckless changing of targeting and pixels can result in dips in performance.

D) Please ensure ads are tracking correctly before continuing. If there are errors you will be pushing back inaccurate data to the ad platform. Please wait until the onboarding team has confirmed tracking accuracy or reach out to support to ensure your ads are tracking correctly.

AI Pixel Training is one of the coolest features we offer at HYROS. It allows you to pass our conversion tracking back to your ad platforms to train them to find customers better.

What type of data do we track?

This feature does NOT allow you to send custom conversion information such as opt-ins or the number of attendees or users who reached a certain page. However, it does allow you to send sales, calls and leads to your ad managers.

The good news is we handle all the techy stuff. It is an extremely easy feature to activate. Here’s how to do it for both platforms.

Standard Setup

Step 1 – Inside Hyros

Please note that this video does not include our recent update, which allows you to send events as orders rather than individual products purchased.

If you want to optimize around orders please send events as a general action and toggle this on:

Step 2 – Inside Google

Written Guide:

To use activate Google offline conversion tracking and AI training

  1. Go to your Google ads integrations tab HERE
  2. If you are integrated with Google simply flip the offline conversion tracking toggle at the top of the page.
  3. Adjust the attribution mode depending on your business type as described in first video. If using scientific mode, adjust the attibrution range depending on the average amount of time it takes for your customer to make a sale after clicking an ad.
  4. Click “configure” on your integrated google ad account. If you have more than one, you will need to do this for each ad account.
  5. Choose how you want to send conversions. By default, hyros sends a conversion to google depending on the product name (individual action). This can cause issues if you have a lot of different products. Toggle on “Send conversions as a general action” if you want a single general conversion to be sent into google to optimise around instead. Name it whatever you like:

THEN from within your Google ads dashboard:

  1. Wait for a sale to come into HYROS
  2. Once it has an offline conversion named after it will be created in your Google conversions area, plus the general conversion action will also be created if you have toggled this on.
  3. Go to your campaigns that sell this product and set the conversion goal to the HYROS conversion that was just added in the conversion area.



WARNING: If you choose the account level “include in conversions” settings, this may factor in extra conversions and affect campaign performance.
If you do not have the option to select specific conversion actions for the campaign as shown in the above screenshot, please see the video guide above to create a custom goal first.

4. Go into your account settings and ensure that the following field is on inside the Autotagging section:

That’s it! You are now AI pixel training with Google. Your ad campaigns will now optimize according to the conversion data that HYROS sends into Google.

If you wish to view the conversions being sent into your google ads account, you can do so inside your google integration settings. Just select “configure” and then you will find you sent conversions under the offline conversions tab:

Events from Hyros are sent to Google on average within 6 hours, they are not able to be sent in real-time due to requirements set by google.

Also, please note that the conversions inside your google account will be attached to your ads, you will NOT be able to view these conversions attached to your videos for example.

Include/Exclude organic sources as offline conversions

By default, we will ignore organic sources when attributing events for the purposes of sending events to Google. If you want to include organic sources, so events are NOT sent when attributed to an organic source, you can toggle this off inside your TT settings:

Sending Leads To Google

Please note you can also send lead events to Google to use for optimization, just turn on lead events inside “general configuration”:

Sending Events to an Existing Conversion Action

Copy this snippet: Math.random().toString(36).substr(2, 15)

Then paste it with a space in front of 'transaction_id':, and a comma at the end. It should look something like this:

Please read the written guide very carefully before setting this up. We also highly suggest reaching out to the support team to assist with the setup and ensure this is the right setup for you before moving forward.
You are responsible for any sudden changes made that may damage your optimization in Google.

What is an “Existing Google Conversion Action”?

This refers to the events that Google are tracking already, most likely by the Google snippet/pixel added to your site. These are not the same as the events tracked inside of Hyros.

Sending Hyros events to an existing event, will in the case of the example above, send all events to “Google Conversion” Instead of sending Hyros events to a seperate conversion action.

If you have not been tracking events with Google prior to this, you can ignore this section and just follow the main Google guide above.

Why Send Events to An Existing Google Conversion Action? How Does it Work?

It is highly likely you already using these existing events as your conversion goal for optimization purposes for your existing campaigns.

If you are, then sending Hyros events to an existing Google event may be advantageous (we will explain why shortly).

This is especially true if you are using account default goals.

To understand if you are using account default goals: Start by checking if the Google event is set to “Primary” under the action optimization Column, and the “Purchases” conversion goal has the text “Account Default Goal” as shown in the screenshot below.

You should also see the number of campaigns just next to that using the account default goals you have set:

If you want to see if any specific campaigns are using account default goals, you can click edit on any campaign in your ad manager and select “update conversion goals”:

If the Google events are included in these account level goals that you are using, or you are using campaign specific goal settings with Google events, sending our data directly to these Google events will allow you to immediately use Hyros events in optimization without making any other changes.

Should everything work correctly, Hyros events will essentially “fill in the gaps” of the events Google miss, and any events that Google have already tracked correctly will simply be removed by Google to avoid duplication.

For example, let’s say you have an existing conversion action tracked by Google named “Google Conversion”, which is being used as a primary action, and is being used as an account default goal for all your campaigns, Meaning it is already being used in optimization.

If Google track 5 sales for this event, But Hyros track 7, when we send the events to the existing “Google Conversion” event, Google will simply discard the 5 events they already tracked, but keep the 2 events and add them to “Google Conversion”, allowing you to optimize around more accurate data.

If you sent these 7 Hyros events to a seperate “Hyros Conversion” event, then you would not be able to simply use the “Hyros Conversion” event as an account default goal. This is because if you are already using Google events as an account default goal, doing this with Hyros events at the same time would mean optimizing around duplicated events, which could damage your optimization. Google will not deduplicate events if they are in different conversion actions.

This is why by default all seperate Hyros events should be sent in as a “secondary” action and therefore not used in optimization:

The only way to optimize around seperate Hyros events without duplication, is to optimize your campaigns using campaign specific goals, using Hyros events only. See the main Google guide above for more information on that.

This is not necessarily a bad thing, and may even work better for certain businesses. However it can take longer to test and prove better performance before seeing results. This because you then have to switch optimization to a brand new event with no previous data, so you are starting from scratch.

If you send Hyros events to an existing event instead, this means you are optimizing around Hyros events straight away, by using Hyros events to fill in the gaps of the data Google failed to track. That way you maintain using all of the historical data you have gathered and do not have to start from scratch.

Disadvantages and Risks of Sending Hyros Data to an Existing Event

There may be a few reasons why this may not be the best option for you and your businesses, depending on a few different factors:

  1. Higher risk of duplication and damage to optimization – Because you are sending data to an existing event, something may go wrong for a number of different reasons.For example, if there could be an error in the setup. Even if there is no setup error there could be a technical issue inside Hyros or even inside Google that prevents Google from deduplicating events correctly, which can lead to damage to your optimization and therefore performance.Because all events are being sent to the same conversion action in Google, if there are any errors you will not be able to easily correct them.Please note by sending events this way, you assume all responsibility for the risks involved. If you are not comfortable with these risks we highly suggest using the standard setup to send events to a unique conversion action instead.
  2. Sudden change to account wide optimization in Google – Because the Google conversion action is most likely being used for the majority of your optimization already, suddenly sending the events from Hyros to the same conversion action will likely mean a very sudden change to the numbers that Google are using for optimization across your account.Although the majority of the time, this will be a good thing because Hyros events are just filling in the gaps of missing tracking, this sudden change carries a risk of negatively effecting performance for a temporary period of time during a “buffer” period inside Google.If you are not comfortable with this risk, please just follow the main guide and send events to a unique conversion action. That way you will have more flexibility to test events and change optimization slowly inside Google, one campaign at a time, to avoid sudden changes.
  3. Does not necessarily perform better in the long term – Although sending Hyros events to an existing conversion action allows you to improve performance more quickly whilst also utilizing the historical data you have gathered from Google’s tracking, it does not necessarily guarantee that optimization will be performing best this way vs sending Hyros events to a unique conversion action and optimizing for Hyros events on their own, at least in the long term.Each business is unique, and although sending Hyros events this way may give you a boost in performance, optimizing around separate Hyros events may work even better for your business over time.
  4. Setup can be more complicated, especially without any coding experience – This requires some editing of the Google pixel code, which may not even be possible for certain businesses. Even if it is possible it can be quite complex without coding experience, and mistakes can have a negative impact on your ad performance.

Add a randomized transaction ID to the Google Snippet – Written Guide

Please follow all of the steps in the main video guide, this is just a more detailed written guide regarding editing the Google Code to add the transaction ID in case you need further assistance setting this up.

This is what allows Hyros to collect the event information to help Google deduplicate the same events they have already tracked.

To do this, you must have access to the pixel/snippet/Gtag code which is used by Google to track the conversion events, and be able to make manual edits to this code. In some cases, you may not be able to do this, such as if you are directly integrating Google Analytics with your landing page software.

If that is the case you can NOT send events this way because you will be duplicating events, so please ignore this section and follow the standard Google guide.

Most commonly, it will be easiest to make edits to Google’s purchase event if you are adding Google’s code manually. Please see their documentation HERE for more information on adding purchase event tracking for Google as an example.

When you have found the event code, copy this snippet: Math.random().toString(36).substr(2, 15)

Then paste it in front of 'transaction_id':, it should look something like this:

Then add this code to the html of the page you are tracking the conversion on. This will most likely be on the thank you page or any page after the lead checks out.

Please also make sure that the same page is being tracked by our universal script, otherwise this will not work.

And this concludes the setup. If you have any questions please reach out to the support team.

Creating Custom Conversion Rules

Conversion Rules are a great way to customize where you send events to and what is and is not sent based on pre-set conditions. Although there are plenty of other creative ways you can use this, in this guide we will cover some of the most common ways of using this feature, such as:

  • Blocking Recurring Sales.
  • Blocking free trial events or sending free trial events to a separate conversion action.
  • Splitting up sale events depending on which store sales were generated from.
  • Sending qualified leads only.

To add any conversion rules, go to your Google integration settings and select “configure” on the account you would like to set up conversion rules for:

Then you will have a selection of tabs based on what type of conversion rule you would like to create. If you want to adjust how sales are sent to Google, you will need to add a “sale rule”, for adjusting call events, you will need to add a “call rule” and so on:

Rules can be prioritized, and if no events meet the criteria of any custom rule, the event will be sent to Google using the default settings set in your google integration.

Please find exactly what you are trying to do from the below examples and follow steps:

Block Recurring Sales From Being Sent

This is useful if you want to optimize around initial sales only in Hyros.

 

Block free trial events or send them as a separate custom event

Depending on your specific case, you may be tracking free trials as either a “sale” inside of Hyros, or a “call” type product. The flow is the same in both cases, but please make sure you select the correct rule type (either a “sale rule” or a “call rule”) depending on how these events are being tracked inside of Hyros.

You may want to block free trial events entirely from being sent if you want to avoid optimizing around these events entirely inside Facebook.

Assuming the “$sale” tag associated with the free trial is “$free_trial”, it would look just like this:

Alternatively, if you decide you want to optimize around free trial events only in certain circumstances, but do not want to mix these events with your other sale/call events, then you may want to send free trial events to a new unique custom event.

Just instead select “send conversions with a name based on the product” in order to send the event to Google as a unique Free Trial Conversion Action:

Splitting up conversion actions depending on which store they came from

This is most common for ecommerce businesses who have multiple stores, and a pixel for each store.

First, go to each store integration and find the integration tag for each store, see the following example:

Then copy the tag in order to create the rule as shown here using the condition “If lead has any of the tags”:

Take in mind that if you only have 2 stores, you do NOT need to create 2 rules. This is because sales from the second store should already be sent according to the default rules set during the main setup.

Optimizing Around Qualified Leads Only

Use this guide to send a specific group of leads to Google for optimization, such as “qualified” leads. This way you will be optimizing around better quality leads in Google.

To do this we will create a special “deferred” conversion rule based on the tags of the lead. Therefore the first step is to ensure the tags are being correctly applied to the lead based on what type of lead you wish to send back to Google.

The most common example would be sending “qualified” leads back to Google. Although there are a couple of ways of adding the tags to leads, the easiest way is by using a URL rule. In order for this to work, you MUST have a unique page that you send qualified leads to only and no one else.

Then you can use the screenshot below to create a rule that will add the “!qualified” tag to a lead when they land on that specific URL where you consider a lead to be qualified. Just copy and paste that URL in the words to match:

Then, inside the Google “Lead rules” tab, add the deferred rule. You will need the following settings:

  1. IF any of the tags are applied to lead = !Qualified
  2. THEN Send conversion with specific parameters (then enter the requested details for the event and the name you want to attach to the event inside Google)

Because this is a deferred rule, providing no other standard rules (aka “real-time” rules) apply to the event when the lead is tracked, Hyros will NOT send the Lead event until the “!qualified” tag is applied to the lead. The moment this happens will will send the event to Google.

Until that happens, the status for the event will be set to “pending”, and if the “!qualified” tag is not applied to the lead within 30 days, then we will not send the event at all.

If the lead has the same tag immediately upon us tracking the lead event, then we will send the lead to Google straight away.

Please also take in mind some ad platforms can be less likely to use events that are delayed by a large period of time. A “deferred” rule such as this will delay the time it takes for most lead events to be sent, because we are waiting for the tag to be applied to a lead BEFORE we send the lead event. This means the ad platform could decide to drop the events when they have arrived, which we can not take responsibility for.

Google Troubleshooting and FAQs

The Amount of the Conversions Inside Google do not Match with the Sales Numbers Inside my Hyros Account.

In this case, we need to first identify that we are sending the correct data from the Hyros side.

To do this, view the sent conversions inside hyros in the “sent conversions” tab as shown at the top of this section. You should also go to the sales tab or when deep diving into specific sales inside the reports to view the “status” column for each sale as shown here:

There are five possible statuses, all of which tell you if the sale has been sent to your ads manager or not and why. They may have different explanations which you can see by hovering over the status, please note below some examples of an error report you may see if a conversion is not sent:

WBRAID_PARAM_FOUND: By default all events with the WBRAID parameters are sent back to your Ad account. If you get the status that the event was not sent because of the WBRAID parameter, it means that your ad account is not on the allowed list. To be whitelisted, contact your Google representative.

INVALID_CLICK: If the click does not exist in Google, then the conversion will not be sent.

UNPARSEABLE_GCLID: The “Gclid” parameter in the URL of the click is invalid, this is requirement from Google that this parameter is attached correctly. This is their parameter, so please be careful not to confuse this with “gc_id” which belongs to Hyros.

EXPIRED_CLICK: If the attributing click was more than 90 days ago, then the conversion will not be sent.

CLICK_MISSING_LABEL: The conversion wasn’t sent because clicks occurred when none of the effective conversion types in the account were enabled could be processed.

GRAPH_METHOD_ERROR: Caused by missing permissions, please ensure you have full admin access to the account, also ensure the same account has access to the pixel, and re-integrate with Facebook inside Hyros to ensure all permissions are granted

EVENT_TIME_TOO_OLD: If the event occured 7 days ago or more, the event can not be sent.

IGNORED: The event was ignored due to a conversion rule set inside your account. If you believe it should have been sent you will need to adjust the conversion rules inside your integration.

DELETED_INTEGRATION: The conversion belongs to an integration that has since been deleted in your account. Please ensure your Facebook integration is set up correctly that inlcude the correct ad account.

CONVERSION_DISABLED: Offline conversions are disabled in the account, when you are ready and ads are tracking correctly please turn this on following the guides above.

NO_FB_GOOGLE_ATTR: We will only send sales that are attributed to Facebook or Google ads. If the sale is not attributed back to a Facebook or Google ad, it will not be sent to the ad platform.

NO_ADSPEND_CLICK_ID: There is no fbclid/gclid in URL of the attributing click. If you investigate the clicks of the lead associated with the sale you should be able to see this as well. These parameters belong to Facebook/Google, and are required for the conversion to be sent. These should not be confused with our tracking parameters, “fbc_id” and “gc_id”.

NO_CLICK_ID: The click ID (associated with fbc_id) was not found inside of Facebook. Please reach out to Facebook for further assistance.

DEFAULT_ERROR: A miscellaneous error. Please retry the sending the conversion in “sent conversions” and if this does not work please reach out to support.

NO_INFO: A similar miscellaneous error. There is no information on the conversion so it can not be sent. Please retry and if this does not work then please reach out to the support team.

If we are sending events correctly from our end and you notice no issues in your Hyros account, please reach out to support and we can investigate further.

How to send failed/pending conversions back to your Ad account if you see the error “Google conversion action does not exist”

If you see this error, there are 2 things you can try:

1) Re-add any deleted conversion actions.

Sometimes this error occurs because a Hyros conversion action previously created inside Google was removed, and Google are not able to create a brand new event on their end.

A common fix for this is to re-add your previous conversion action inside Google.

To do this, click on “view all conversions” and then select the previous conversion actions from Hyros events, and select “enable” as shown:

2) Create a brand new conversion action inside Google

If you have not removed any conversion actions manually, occasionally Google may have an error generating the conversion action automatically.

In this case you will need to manually generate the conversion action in the account before you are able to receive events.

In your Google Ads account, go to Tools & Settings, search for Measurement and click on Conversions. Then click the New conversion action button

The next step you need to click Import and select Other data sources or CRMs-> Track Conversions from clicks:

Here you need to configure the following entries, make sure the conversion name is exactly the same as the event you are sending (ask the Hyros support team if you are not sure about this):

  • Goal and action optimization: Select default conversion Purchase
  • Conversion name: The conversion name should match the conversion name you have inside Hyros (Offline conversions settings)
  • Value: select “Use the same value for each conversion” and then set the currency and the value for this specific conversion. For general conversion actions you will need to select “Use different values for each conversion”.
  • Count: here you need to select “Every”.
  • Click-through conversion window
  • Attribution model.

What information is sent to Google?

Among other things, the main parameters sent to Google are:

  • Value.
  • Email.
  • Phone number.
  • Order ID.

Main Setup

This setup can be completed in 2 steps, with an optional 3rd step should you wish to deduplicate events more accurately:

Step 1 – Configure Events to be Sent From Hyros

Please see the video guide:

Step 2 – Check Pixel Settings and Confirm Deduplication

Please note this video refers to server events from Hyros. If you have only just activated this feature, you may need to wait for some more Facebook events to be tracked in Hyros and then sent to Facebook to be able to successfully follow all of the steps.

Hyros sends events hourly so our server events will not be immediately visible.

Please see the Video Guide:

If you notice that deduplication is “not meeting best practices” inside Facebook, then they should be able to provide more information as to the exact issue inside of Facebook. That being said you can also see the “Facebook Event Troubleshooting” dropdown below this section for more troubleshooting steps.

Step 3 (Optional) – Adding Event ID Deduplication

Please note that by default Hyros will track Facebook’s “FBP” cookie value and send this with events when it is available. This will normally allow Facebook to deduplicate events without any extra edits to code.

However this step should be followed if:

  • You do not want to rely on Facebook’s “FBP” cookie for deduplication alone.
    Although this automatic method should be fairly reliable, because it relies on Facebook’s cookies, deduplication may not always be successful.
    Use the event ID if you would like an extra layer of security to ensure deduplication occurs successfully as much as possible.
  • You are able to manually add the pixel to your site. This setup requires editing the pixel code used by Facebook to track standard events.
    As each business is different, if you are not sure how to find this, we advise using this documentation from Facebook to understand how this code should look: https://www.facebook.com/business/help/402791146561655?id=1205376682832142
    If you have not added the pixel manually yet to your site, you will need to remove the current pixel implementation and use the Facebook documentation above to install the pixel and track your standard events manually.
    For example, the Purchase event code should look like this on your site, which is the part we will need to edit: fbq('track', 'Purchase', {value: 0.00, currency: 'USD'});

To set this up, please follow these 2 steps:

1. Turn on “Enable Event ID Collection”

2. Add the Event ID Code to the Standard Event you want to Deduplicate

We are going to use the standard Facebook “Purchase” event as an example in this case, because this is the most common event that people will use with Hyros, however please ensure this is done with any other standard event you are sending Hyros events to.

First, copy this code, this is what you will need to add to the standard event code in the Facebook pixel:

{eventID: Math.random().toString(36).substr(2, 15)}

Next, find the standard event code you have manually installed on your site, it should look something like this:

fbq('track', 'Purchase', {value: 0.00, currency: 'USD'});

Paste the event ID code directly before the final curly bracket with a comma and space separating it from any previous text, just like this:

fbq(‘track’, ‘Purchase’, {value: 0.00, currency: ‘USD’}, {eventID: Math.random().toString(36).substr(2, 15)});

As you can see the highlighted text above is what we have added to the code. Please copy this and add the new standard event code back to your site.

WARNING: IF YOU ARE ADDING THE EVENT ID TO ANY OTHER EVENT

As you can see above, the purchase event code has 4 “arguments” or parameters, all separated by a comma. These are broken down below:

  1. ‘track’
  2. ‘purchase’
  3. {value: 0.00, currency: ‘USD’}
  4. {eventID: Math.random().toString(36).substr(2, 15)}

The event ID section MUST always be the 4th argument. When configuring any other event with the event ID, because there is no value or currency for most events, we must add a blank argument in the event code instead to ensure the event ID is always the 4th argument as shown in the example of a lead event code:

fbq(‘track’, ‘Lead’, {}, {eventID: Math.random().toString(36).substr(2, 15)});

You can see the highlighted 3rd section above which needs to be added for other event types. Please note that if this is not done, Facebook will not be able to read the event ID and use this information for deduplication.

That will conclude the setup, please ensure you have done this with all other standard events that you are sending Hyros events to.

Conversion Rules

Conversion Rules are a great way to customize where you send events to and what is and is not sent based on pre-set conditions. Although there are plenty of other creative ways you can use this, in this guide we will cover some of the most common ways of using this feature, such as:

  • Blocking Recurring Sales.
  • Blocking free trial events or sending free trial events to a separate custom event.
  • Splitting up sale events depending on which store sales were generated from.
  • Splitting up add to cart events depending on which store they came from.
  • Optimizing around qualified leads only.

To add any conversion rules, select the “conversion rules” button at the bottom of the “conversions” tab in the Facebook integration settings:

Then you will have a selection of tabs based on what type of conversion rule you would like to create. If you want to adjust how sales are sent to Facebook, you will need to add a “sale rule”, for adjusting call events, you will need to add a “call rule” and so on:

Please find exactly what you are trying to do from the below examples and follow steps:

Block Recurring Sales From Being Sent

This is useful if you want to optimize around initial sales only in Hyros:

Block free trial events or send them as a separate custom event

Depending on your specific case, you may be tracking free trials as either a “sale” inside of Hyros, or a “call” type product. The flow is the same in both cases, but please make sure you select the correct rule type (either a “sale rule” or a “call rule”) depending on how these events are being tracked inside of Hyros.

You may want to block free trial events entirely from being sent if you want to avoid optimizing around these events entirely inside Facebook.

Assuming the “$sale” tag associated with the free trial is “$free_trial”, it would look just like this:

Alternatively, if you decide you want to optimize around free trial events only in certain circumstances, but do not want to mix these events with your other sale/call events, then you may want to send free trial events to a new unique custom event.

Just instead select “send conversions with specific parameters” and select the appropriate business, pixel and custom event name you would like to send these events to:

Sending Sales from x store to x pixel and sales from y store to y pixel

This is most common for ecommerce businesses who have multiple stores, and a pixel for each store.

First, go to each store integration and find the integration tag for each store, see the following example:

Then copy the tag in order to create the rule as shown here:

Take in mind that if you only have 2 stores and 2 pixels, you do NOT need to create 2 rules. This is because sales from the second store should already be sent according to the default rules set in the “conversions” tab during the main setup.

Splitting up add to cart events depending on which store they came from

To split up cart events depending on the store they came from, follow these steps:

Take in mind that if you only have 2 stores and 2 pixels, you do NOT need to create 2 rules. This is because sales from the second/last store should already be sent according to the default rules set in the “conversions” tab during the main setup.

Optimizing Around Qualified Leads Only

Use this guide to send a specific group of leads to Facebook for optimization, such as “qualified” leads. This way you will be optimizing around better quality leads in Facebook.

To do this we will create a special “deferred” conversion rule based on the tags of the lead. Therefore the first step is to ensure the tags are being correctly applied to the lead based on what type of lead you wish to send back to Facebook.

The most common example would be sending “qualified” leads back to Facebook. Although there are a couple of ways of adding the tags to leads, the easiest way is by using a URL rule. In order for this to work, you MUST have a unique page that you send qualified leads to only and no one else.

Then you can use the screenshot below to create a rule that will add the “!qualified” tag to a lead when they land on that specific URL where you consider a lead to be qualified. Just copy and paste that URL in the words to match:

Then, inside the Facebook conversion rule tab, go to “Lead rules” and add a new lead rule, you will need the following settings:

  1. IF any of these tags are applied to lead = !Qualified
  2. THEN Send conversion with specific parameters (then enter the requested details for where you want to send the event and the name you want to attach to the event)

Because this is a deferred rule, providing no other standard rules (aka “real-time” rules) apply to the event when the lead is tracked, Hyros will NOT send the Lead event until the “!qualified” tag is applied to the lead. The moment this happens will will send the event to Facebook.

Until that happens, the status for the event will be set to “pending”, and if the “!qualified” tag is not applied to the lead within 30 days, then we will not send the event at all.

If the lead has the same tag immediately upon us tracking the lead event, then we will send the lead to Facebook straight away.

Please also take in mind some ad platforms can be less likely to use events that are delayed by a large period of time. A “deferred” rule such as this will delay the time it takes for most lead events to be sent, which means the ad platform could decide to drop the events when they have arrived, which we can not take responsibility for.

Sending Events Attributed to Organic Sources

This conversion rule is unique to Facebook. It will allow you to send events to Facebook if they are attributed to different organic sources inside Hyros should you wish.

By default we will only send events to Facebook if they are attributed to a Facebook ad unless you use this rule.

You may want to do this to allow Facebook to use this data for optimization at product level for example, regardless of ad attribution.

We can not guarantee this is how Facebook will use this data, and please take in mind by using this, you assume any responsibility for any effect to optimization caused by these events, positive or negative.

If you wish to continue, please ensure you are not ignoring organic sources in your true tracking settings, as shown here:

If this toggle is left on, then the rule in this section will not work. This is because the organic source you select to trigger the rule will be “ignored”.

Please take in mind that including organic sources may mean organic sources take attribution from your ad sources, which can effect which events are sent to your ad platforms.

You can then set the rule just like this. Just select the specific organic source you want to use and then any event attributed to that source will be sent to Facebook according to the parameters you set here:

These are some of the most common ways of using conversion Rules, but please let us know if you would like to do anything else and we would be happy to assist you with your unique situation.

Facebook Event Troubleshooting

Deduplication “Not Meeting Best Practices”

If you are seeing a “deduplication not meeting best practices” warning, then the first thing you need to do is hover over the warning message inside Facebook for further details. If it’s not immediately clear what the issue is, then please also follow these steps:

  1. Find the event inside the pixel and select “view details”.
  2. Select “Event Deduplication” and check how many percentage of events come with the Event ID and the FBP value:

    A) If EVENT ID says 0% from the conversion API – This is the most common cause. If you have not followed step 3 of the main setup yet then it’s also normal to have 0% here, because we need to add a code manually to the Facebook Pixel event code to track the event ID from both the Pixel and the Conversions API.
    Although we are sending the FBP cookie value to Facebook by default which allows for deduplication, because this relies on cookies it is not always 100% reliable. For this reason Facebook may suggest to also send the Event ID. It is not mandatory to do this and in some cases it may not be possible, but it may be recommended by Facebook if the FBP value is not sent consistently enough.
    If this is the case please go back to step 3 of the main setup and ensure all the steps are followed correctly, and the Hyros universal script is also tracking on the same page as the Facebook pixel is tracking your events.
    B) If FBP says 0% from the conversion API – We should be tracking this automatically when our universal script reads the Facebook pixel on your site. If none of our events are being sent with the FBP value, this is most likely because our universal script is not attached on all pages, or the Facebook pixel has not been installed on all your pages. Both of these need to be installed on all pages of your site to ensure we can send the correct information.
  3. Finally, check how many events are being sent with the same information from the pixel:

    A) If EVENT ID says 0% from the PixelIf you have not followed step 3 of the main setup yet then it’s also normal to have 0% here, because we need to add a code manually to the Facebook Pixel event code to track the event ID from both the Pixel and the Conversions API.
    B) If FBP says 0% from the PixelThis means it’s possible there is an error in the Facebook Pixel setup. Please ensure that your Facebook pixel has been installed on your site (if you want to track web events from Facebook) and if after that you are still seeing the same thing, please contact Facebook support for more assistance on the pixel setup.
Viewing Data Sent From Hyros

If you encounter an issue with the events or notice any discrepancies, one of the first things you will need to rule out is if Hyros is sending the data to Facebook correctly.

You can do exactly that inside your Facebook integration settings. Just select “See Sent Conversions” as shown below:

You can then use this to compare with the data inside your Hyros account and determine if everything is being sent correctly by diving into individual sales as shown below.

Take in mind that we only send Sales, Calls and Leads that are attributed to Facebook in the attribution mode you have set for your offline conversions.

Checking the Status for Each Sale/Conversion

If numbers are not matching with the events inside your pixel, we need to first identify that we are sending the correct data from the Hyros side.

To do this, view the sent conversions inside Hyros in the “sent conversions” tab as shown at the top of this section. You should also go to the sales tab or when deep diving into specific sales inside the reports to view the “status” column for each sale as shown here:

There are five possible statuses, all of which tell you if the sale has been sent to your ads manager or not and why. They may have different explanations which you can see by hovering over the status, please note below some examples of error statuses we may receive from Facebook:

EXPIRED_CLICK: If the attributing Facebook click was more than 90 days ago, then the conversion will not be sent.

CLICK_MISSING_LABEL: The conversion wasn’t sent because clicks occurred when none of the effective conversion types in the account were enabled could be processed.

FB_OAUTH_EXCEPTION: Conversion wasn’t sent because the Facebook token has expired inside Hyros, please go back to your Facebook integration and re-integrate.

GRAPH_METHOD_ERROR: Caused by missing permissions, please ensure you have full admin access to the account, also ensure the same account has access to the pixel, and re-integrate with Facebook inside Hyros to ensure all permissions are granted

EVENT_TIME_TOO_OLD: If the event occured 7 days ago or more, the event can not be sent.

IGNORED: The event was ignored due to a conversion rule set inside your account. If you believe it should have been sent you will need to adjust the conversion rules inside your integration.

DELETED_INTEGRATION: The conversion belongs to an integration that has since been deleted in your account. Please ensure your Facebook integration is set up correctly that inlcude the correct ad account.

CONVERSION_DISABLED: Offline conversions are disabled in the account, when you are ready and ads are tracking correctly please turn this on following the guides above.

NO_FB_GOOGLE_ATTR: We will only send sales that are attributed to Facebook or Google ads. If the sale is not attributed back to a Facebook or Google ad, it will not be sent to the ad platform.

NO_CLICK_ID: The click ID (associated with fbc_id) was not found inside of Facebook. Please reach out to Facebook for further assistance.

DEFAULT_ERROR: A miscellaneous error. Please retry the sending the conversion in “sent conversions” and if this does not work please reach out to support.

NO_INFO: A similar miscellaneous error. There is no information on the conversion so it can not be sent. Please retry and if this does not work then please reach out to the support team.

If we are sending events correctly on our end then find the event inside the pixel and compare the same data. If the conversions are significantly different then either:

  1. Facebook are deduplicating/duplicating conversions. This can happen if you send events as “Purchase”. If Facebook reads this event coming from Hyros and the same event being tracked via the pixel, then events will be deduplicated, if they do not read this correctly then they will duplicate conversions causing inflated numbers.
  2. The events are coming from an unverified domain in Facebook, so they do not use them. Please make sure all domains are verified successfully.
  3. Facebook are dropping events for other unknown reasons. Unfortunately they do drop events for reasons which aren’t made available in the account. Please reach out to Facebook support for assistance and clarification in this case.
The Conversions Sent From Hyros do not Match with the Sale Numbers in the Chrome Extension.

Please note that sometimes Facebook use a form of estimated attribution on occassions to attribute these conversions. You can click the numerical footnote for more information as shown in this example:

Although we do our best to send Facebook everything we need and are constantly looking to improve this, once our events arrive inside the pixel it is Facebook who then attribute them. For more information see this link.

This feature is NOT used for viewing your data in your reports to make decisions, to do this view the data inside the Hyros app or the chrome extension. This feature is specifically used to optimize your ads and only this. Viewing the sent events in your columns will not tell you if our events improve performance, the only way to do this is to test our event on an ad set.

Facebook FAQ

I am not able to Select a Pixel to Send my Conversions to

Depending on the exact issue, this may be for 2 reasons:

  1. You don’t see your pixel in the drop-down: Ensure you have selected the correct business when setting up your conversions.
  2. You do see it, but you are not able to select the pixel: Deactivate conversions, then select the pixel and reactivate it again.
How do I Use the Hyros Data to Optimize for my Catalog Campaigns?

Please note that for some users, using the Hyros event for catalogue campaigns may not be possible. We are aware of the issue and are working on ways of resolving this. Please reach out to the support team and ask us to keep you up to date on any updates if you are not able to use the Hyros event following the video below.

Accepting Facebook’s Terms and Conditions (ONLY IF YOU HAVE NOT CREATED A FACEBOOK PIXEL BEFORE)

WARNING: Please ensure when following these steps that you have selected the business, and NOT the ad account at the top right inside the events manager.

In order for Facebook to receive the data, you MUST make sure that you have accepted FB’s terms and conditions. To do this you will need to follow these steps:

Facebook says I do not Have to Add my Event to Aggregated Events Management to Use for Optimization

Please note, Facebook are beginning to allow users to optimize around events that are not prioritized in AEM. We still strongly suggest adding the Hyros event to AEM at the highest priority possible in order to take advantage of the Hyros data.  Otherwise ads optimizing around this event may not deliver to users who opt out of tracking.

If you have existing events already, then it’s normally best to place the Hyros event second until you have gathered enough data and proven better results.

What is Considered a Good Event Match Quality in Facebook

According to Facebook’s documentation here, a good event match quality score is 6.0.

We aim to send all the information possible with events, providing we are tracking them. If you notice for example that we are sending a low amount of names and phone numbers with events, this may be because we are not often tracking names or phone numbers of leads on your funnel, and do not have this information to send.

You may be able to improve the quantity of names and phone numbers we are able to track by adjusting name and phone number fields on your site to enable us to identify this information accurately. For more information on this please follow the guide HERE.

Does Hyros Send Data to Facebook in Real Time?

Hyros does not send conversions to Facebook in real time. On average data is sent on an hourly basis, but this can vary slightly.

Can I Track Other Events, Such as Page Views etc with the Pixel?

The purpose of this guide is to show you how to send events from Hyros to the Facebook pixel server-side. However the Hyros Pixel is just another Facebook pixel and behaves in exactly the same way. It can be used to track web events (add to cart/page view etc) as well by installing the pixel on your page. This is not related to Hyros tracking though.

WARNING: If you track Facebook web events with the same Pixel, please make sure deduplication is working correctly by following the main setup guide.

I Can Not Activate Value Optimization on my Hyros Event

If you are trying to optimize around value, you may find you receive a message from FB like this:

In order to optimize around value, you will need to follow the steps outlined by Facebook. We can break the steps required down as follows:

  1. Make sure the pixel is sending purchase events: If you have completed the Facebook set up above, then you should be able to see the hyros conversion events being sent into the pixel.
  2. Make sure it has generated 30+ optimized purchases: You’ll need to add the Hyros event as an optimized event following following the set up in the above “Facebook” drop down, and then wait for 30+ purchases to come in and be used in optimization following this change.
  3. Has at least 2 distinct values in the past 7 days: There must be 30 optimized purchases in the last 7 days, and there must be 2 unique values present. For example, if 30 Hyros events have been used to optimize in the past 7 days, but all with the same value of $5, this will not meet the requirement.

Please take in mind that these requirements are set by Facebook. Although we’re happy to help with any issues you may have, ultimately in order to activate value optimization ALL of Facebook’s requirements need to be followed correctly.

I Received a Warning From Facebook about “Potentially Violating Personal Data”, and Noticed the Hyros Email Parameter.

If you received a warning that looked like this:

Then do not worry, our interpretation of this message (and so far from our experience), is that this is Facebook simply saying that they won’t use this data. This is not a problem because those parameter were never used by them in the first place, they were used by us.

That being said we are not Facebook and cannot predict their behaviour with certainty, this is just our interpretation from the experience we have. If you want to be careful, then there are 3 solutions for you to choose from:

  1. Go to your pixel settings and under “automatic advanced matching” open up the advanced options and toggle off any information that has been flagged by Facebook:
  2. Remove the pixel from your site.
  3. Remove the parameter causing the issue. For example if it is the “he=” parameter, then remove that parameter from your email links.
Can I Add the Pixel at Ad Level as Well?

Facebook does give you the option of using the pixel at ad level under “tracking”. However, from our experience this is not related to this feature and for the purposes of optimization you only need to add the pixel at ad set level as per the video guides. You are however welcome to test adding these at ad level as well at your own discretion.

Facebook may also force you to select the same pixel at ad level than at ad set level. If this is the case please do not worry, in our experience this has little significant effect on optimization. Testing your ads and viewing the performance on those ads is the ONLY indicator that will confirm if our pixel is working.

What information is sent to Facebook?

Amongst other things, the main parameters sent to Facebook are:

  1. Value (if you are sending a custom event, this will not be passed on to the custom conversion that you need to create to optimize).
  2. Currency.
  3. Phone number.
  4. Sales group id associated with the sale. Only if the sale belongs to an integration. If it’s entered manually then this will not be available.
  5. Event ID for deduplication purposes (if setup).
  6. Facebook’s “fbp” cookie value for deduplication purposes (this should be automatic providing we can track this from the installed Facebook pixel on your site).
  7. SKU id. This will be sent only if this information is available. It can be sent either from the integration or manually.

Please follow the video setup below:

Please view the video set up below:

 

 

Adding Custom Sales Rules

By default, Hyros will send all sales conversions to the same pixel, and to the same event, and do the same with Calls.

Creating custom sales and call rules will allow you to send events to a specific business, pixel and as a customized conversion event depending on the set criteria. This way you can send Hyros data to multiple pixels with a variety of conversions depending on your specific use case.

You can create a new sales rule inside your Tik Tok integration settings. Just select the specific tik tok integration you would like to adjust the rules for, click configure and then go to sales or call rules:

When creating rules, you have a few different conditions to choose from. These are the current conditions available:

 

If the lead has any of these tags – This is based on the lead and NOT the sale. So if the lead has the tag selected, anything they purchase in the future will be sent according to this rule.

For example, you can set a rule so if the lead has a “!ShopifyStore1” tag, then it is sent as X conversion event to X pixel, but if the lead has a “!ShopifyStore2” tag, then it is sent to as Y conversion to Y pixel. In this case, you are sending the data to different pixels/as a different event depending on which Shopify Store the user came through.

If you are not aware of how our tags work in Hyros, please review the guide HERE.

If the tag for the product is any of these – This rule is based on the purchase itself, and not the lead. This allows you to choose how specific products are sent.

If the sale or call has price – This again is based on the product. Any sale made that matches the value selected will follow this rule. For example if you want to select all free trial “purchases”, you can select this condition, with a value of “0”.

If the sale is recurring – This rule is based on if the sale event is marked as “recurring” inside of Hyros. This may be useful if you want to optimize around initial sales only, or want to send recurring sales to a specifici pixel or under a specific custom conversion name such as “Recurring Purchase”.

We highly suggest reading our documentation HERE to understand how sales are marked as recurring inside Hyros before using this.

You also have the option to toggle on “do not send conversion”. This will block any conversions from being sent if the selected criteria is met for that event. An example of this will be if you want to block any free trial events from being sent, you can either create a condition for the product tag itself, or for any sale with a value of 0. You could also block all recurring sales so that you are optimizing around initial sales only.

Rules can be prioritized, and if no events meet the criteria of any custom rule, the event will be sent to Tik Tok using the default rule.

We advise against sending the data to an existing Pixel as a standard event already tracked by TikTok. This has been known to mix Hyros data with TikTok’s and causes duplication issues. Please be aware that you are responsible for the outcome of setting these rules incorrectly, and we strongly suggest waiting to gather data and testing before optimizing around Hyros conversions account-wide.