A correct integration is essential for reliable attribution! Attribution can only be accurate if the events being sent to Podscribe are correct. This is critical to check before campaigns start!
Here’s how:
1. Navigate to your Tag Setup
tab.
2. Review your Integration Score - See here for more details.
3. Confirm all the right events are coming in.
Are all the events you want to track present in the Tag Setup
tab? The shopify app sends purchase and view events, so those two should be present.

If a brand got 83 purchases in the past day, there should be 83 purchases on the Tag Debug tab. This does not mean that 83 purchases came from podcast ad listeners.
4. Confirm that all events have expected data points
Confirm that the events, specifically purchases, have all expected data points by scrolling down on the Tag Debug tab. You can click on an individual row to expand it and see all the data sent in. For purchases, check to see if the Order ID, order value, hashed emails, and discount codes have correct values. If not, let us know at adops@podscribe.com!
5. Confirm that the right number of events are coming in
After at least two full days have passed, verify that the daily event counts Podscribe has received matches your internal daily event counts. It’s worth comparing at least 2 full days, in case of possible timezone differences. The discrepancy in most cases should not exceed 10%. You can also change the Tag Setup page’s timezone from its default as UTC if your daily counts are in a different timezone.
To count events by day on Podscribe, hover your mouse over the chart, or download a CSV of events by day by clicking the download icon on the top right of the line graph.

Counts not aligning perfectly? A few reasons this could be happening:
- Is the
View
event firing on every page? If not, Podscribe’s counts may be lower.
- Are the counts by day being compared in the same timezone?
- Have at least 2 days passed, and your start and end date are not exactly on either day? Eg if events started coming on 2/14, then your first full days would be 2/15 and 2/16. On 2/17, you can then view on the graph the counts for 2/15 and 2/16, by making sure the start date is 2/14 or earlier, and the end date is 2/17 or later.
- Sometimes ad blockers, rejection of the cookie acceptance prompt, or certain less popular browsers such as Brave may restrict the Podscribe tag from firing, causing Podscribe counts to be slightly lower.
- Has the event names been double checked, such that signups or lead events are firing when you would expect them to?
- For lead/signup/purchase events, is it possible that these events are firing multiple times in a single checkout? For instance, if a checkout contains 4 steps and the lead event fires on each page, then we may be receiving 4 lead events everytime a person goes through the form once.
- Are duplicate events being sent? You can hover over the event on the graph to view unique counts (by order number, if it’s being sent):

6. Map events to Podscribe events.
Once events come into the Tag Setup tab, the last step is to select which Podscribe event your event should be mapped to and turn on attribution for it. Click on the dropdown field under Mapped To, then select which event it should be mapped to. Standard events like purchase
will be auto-mapped to Purchase on the dash. But a more custom event like af_purchase
will need to be manually mapped to Purchase before it shows up on your dashboard.

If attribution is turned on without being mapped to an event, the event won’t show up on the dashboard but it will in CSVs downloaded. You can also map multiple events to the same dashboard event to combine them on the dash.
Questions? Check out our FAQs below for answers!
What pages can I use certain event tags on?
You can use the “signup”, “lead”, or “purchase” events on any page you’d like. For example, if you wanted to measure how many exposed listeners visited a Sign-up page, you could fire the “signup” event on page view. Then, once they completed the form, you could fire the Lead event, passing us the hashed email. We recommend placing the “visit” tag on all pages.
Can I use custom event names? I want to create and track other events besides installs, views, signups, leads, and purchases.
Yes! If the primary 5 events are not adequate, we can track custom, additional events. We can also support re-naming the standard event names on our dashboard to names you’re more familiar with, such as “Account Creation”. To do so, you would simply change the name of the action in your javascript tag from “purchase” or “view” to the custom event name you’d like:

Instead of loading the script bundle, can we call a 1x1 image pixel, or pass events server-side, or in batch?
Yes - please see this guide.
How do I know which advertiser to pick? There are many that pop up with the name of the advertiser.
Podscribe regularly removes duplicate advertisers, but here are some steps that you can take to ensure you're selecting the right advertiser.
- Look up the different advertisers with the same name on Podscribe.


- Check all of the advertisers one by one. If the logo and website are correct, then that advertiser is likely the correct one.

Select the name displayed on the advertiser page as the advertiser’s name when creating your campaign:

If you can’t find the advertiser you’re looking for, feel free to reach out to adops@podscribe.com.
What is the Content Security Policy (CSP) for the Podscribe web tag?
Content-Security-Policy:
default-src
self
script-src
d34r8q7sht0t9k.cloudfront.net
connect-src
verifi.podscribe.com
pixel.tapad.com
ipv4.podscribe.com
How to integrate using a Shopify Custom Pixel, instead of the Shopify app, for Shopify stores?
See here for general info on Shopify Custom Pixels, and below for the Podscribe code.
Be sure to replace YOUR_USER_ID
and YOUR_ADVERTISER_ID
with your IDs.
(function (w, d) {
var id = 'podscribe-capture',
n = 'script';
var e = d.createElement(n);
e.type = 'text/javascript';
e.id = id;
e.async = true;
e.src = 'https://d34r8q7sht0t9k.cloudfront.net/tag.js';
var s = d.getElementsByTagName(n)[0];
s.parentNode.insertBefore(e, s);
e.onload = onLoad;
})(window, document);
function onLoad() {
podscribe('init', { user_id:
YOUR_USER_ID
, advertiser:
YOUR_ADVERTISER_ID
});
analytics.subscribe("page_viewed", (event) => {
console.log('view', new Date());
console.log('podscribe', window.podscribe());
window.podscribe('view', { source: "shopify-custom" });
});
analytics.subscribe("product_viewed", (event) => {
podscribe('ViewContent', { source: "shopify-custom" });
});
analytics.subscribe("search_submitted", (event) => {
podscribe('Search', { source: "shopify-custom" });
});
analytics.subscribe("product_added_to_cart", (event) => {
podscribe('AddToCart', {
currency: event.data?.cartLine?.merchandise?.productVariant?.price?.currencyCode,
value: event.data?.cartLine?.merchandise?.productVariant?.price.amount,
source: "shopify-custom"
});
});
analytics.subscribe("payment_info_submitted", (event) => {
podscribe('AddPaymentInfo', { source: "shopify-custom" });
});
}
analytics.subscribe("payment_info_submitted", (event) => {
w.podscribe('AddPaymentInfo', {source: "shopify-custom"});
});
analytics.subscribe("checkout_started", (event) => {
w.podscribe('InitiateCheckout', {source: "shopify-custom"});
});
analytics.subscribe("checkout_completed", (event) => {
try {
const allDiscountCodes = event.data?.checkout?.discountApplications?.map(
(discount) => {
if (discount.type === "DISCOUNT_CODE") {
return discount.title;
}
}
);
discountCode = allDiscountCodes ? allDiscountCodes.filter(Boolean).join(", ") : undefined;
} catch (e) {
console.log(e);
}
w.podscribe('purchase', {
value: event.data?.checkout.totalPrice?.amount,
currency: event.data?.checkout.totalPrice?.currencyCode,
order_number: event.data?.checkout?.order?.id,
hashed_email: event.data?.checkout.email,
num_items_purchased: event.data?.checkout.lineItems?.length,
source: "shopify-custom",
discount_code: discountCode
});
});
I have a new client! What's the fastest way to get javascript pixels to send them?
It is to generate them from the Tag Setup tab:

How important is it to include a hashed email in the pixel? If we do not, what would we lose out on?
Sending us hashed emails lets us find 10-20% more attributed conversions, so it is certainly helpful to have! Here’s further detail on the part that hashed emails play in attribution. If you send us raw emails, we hash them as they come in and only store the hashed ones.
What mobile device partners (MMPs) does Podscribe work with?
Podscribe works with all major MMPs including: Adjust, Appsflyer, Kochava, Singular, and Segment.
What client data & PII does Podscribe collect as part of its measurement methodology, and how?
The only PII Podscribe collects from advertisers are IP addresses. Podscribe never collects real names, addresses, billing details, raw emails, or any medical info. Podscribe only collects & relies upon anonymous digital identifiers, specifically:
- IP address
- User agent
- Device cookie ID
- Page URL
- IDFA or GAID for in-app events
- MD5 or SHA256 hashed email
- timestamp
- Purchase Metadata: Order ID, Amount, Discount Code, Product Name, etc
When the pixel on a brand’s site fires, it sends a request to our AWS servers located in the US. We receive incoming requests and store them in an encrypted format in our Kafka system, which is located in a private VPC. These requests have a Time-to-Live (TTL) of 7 days. We store the complete requests securely for a limited period because we are unable to process all the necessary data quickly enough to maintain a live HTTP connection.
If we receive raw emails (not hashed), we hash them upon receipt, and discard any other PII (other than IP address) in case anything was accidentally shared.
We then store the data in AWS data centers in the US, specifically US-east-1 and US-west-1, encrypting sensitive data. The data is destroyed in 5 years, or if no longer commercially useful, or if deletion is requeste