Pixel Tracking for RSS and Email Analytics
This feature is currently in beta testing and may be subject to changes.
Pixel tracking allows you to track visitors from sources that don’t support JavaScript, such as RSS feeds, email newsletters, and other content distribution platforms. This invisible tracking method provides insights into how your content is consumed across different channels.
What is Pixel Tracking?
Pixel tracking uses a transparent, 1x1 pixel image embedded in your content. When someone views your content (in an RSS reader, email client, etc.), their client fetches this tiny image from our servers, allowing us to record that view anonymously.
Privacy Note: Pixel tracking follows the same privacy-friendly principles as our main analytics. No personal data is stored, and visitor information is anonymized using rotating salts.
Getting Your Pixel Tracking Code
- Go to your site’s Community tab in Tinylytics
- Your unique pixel tracking URLs and code will be displayed
- Choose between basic tracking or per-content tracking
Implementation Methods
Basic Pixel Tracking
For general tracking across all your RSS feeds or emails:
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif" alt="" style="width:1px;height:1px;border:0;" />
Per-Content Tracking (Recommended)
Track individual posts or content pieces by adding a path parameter:
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/your-post-slug" alt="" style="width:1px;height:1px;border:0;" />
Replace /your-post-slug
with a unique identifier for each piece of content.
Platform-Specific Implementation
RSS Feeds
Jekyll RSS Template
Add to your feed.xml
template:
<item>
<title>{{ post.title | xml_escape }}</title>
<description>
{{ post.content | xml_escape }}
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path={{ post.url | xml_escape }}" alt="" style="width:1px;height:1px;border:0;" />
</description>
<!-- other item elements -->
</item>
Hugo RSS Template
Add to your RSS template (usually layouts/_default/rss.xml
):
<item>
<title>{{ .Title }}</title>
<description>
{{ .Content | html }}
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path={{ .RelPermalink | html }}" alt="" style="width:1px;height:1px;border:0;" />
</description>
<!-- other item elements -->
</item>
WordPress RSS
Add to your theme’s functions.php
:
function add_tinylytics_pixel_to_feed($content) {
if (is_feed()) {
$post_slug = get_post_field('post_name');
$pixel = '<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/' . $post_slug . '" alt="" style="width:1px;height:1px;border:0;" />';
$content = $content . $pixel;
}
return $content;
}
add_filter('the_content_feed', 'add_tinylytics_pixel_to_feed');
Ghost RSS
Edit your RSS template in the Ghost admin:
{{#foreach posts}}
<item>
<title>{{title}}</title>
<description>
{{content}}
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path={{url}}" alt="" style="width:1px;height:1px;border:0;" />
</description>
<!-- other item elements -->
</item>
{{/foreach}}
Email Newsletters
HTML Email Template
<table role="presentation" style="width:100%">
<tr>
<td>
<!-- Your email content here -->
<p>Your newsletter content...</p>
<!-- Tracking pixel at the end -->
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/newsletter-2024-01" alt="" style="width:1px;height:1px;border:0;" />
</td>
</tr>
</table>
Mailchimp
Add this to your email template’s HTML:
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/mailchimp-*|DATE:Y-m-d|*" alt="" style="width:1px;height:1px;border:0;" />
ConvertKit
Add to your email sequence or broadcast:
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/convertkit-{{subscriber.id}}" alt="" style="width:1px;height:1px;border:0;" />
Static Site Generators
11ty (Eleventy)
Add to your post template:
{% if permalink %}
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path={{ permalink }}" alt="" style="width:1px;height:1px;border:0;" />
{% endif %}
Astro
Add to your post layout:
---
const { slug } = Astro.params;
---
<img src={`https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/${slug}`} alt="" style="width:1px;height:1px;border:0;" />
Advanced Tracking Scenarios
Newsletter Campaign Tracking
Track different newsletter campaigns by using descriptive paths:
<!-- Monthly newsletter -->
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/newsletter/monthly/2024-01" alt="" style="width:1px;height:1px;border:0;" />
<!-- Product announcement -->
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/newsletter/product-launch/new-feature" alt="" style="width:1px;height:1px;border:0;" />
Social Media Content
Track content shared on platforms that support HTML:
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/social/linkedin/post-123" alt="" style="width:1px;height:1px;border:0;" />
PDF Documents
If you’re distributing PDFs that support HTML content:
html
<img src="https://tinylytics.app/pixel/YOUR_SITE_CODE.gif?path=/pdf/whitepaper-2024" alt="" style="width:1px;height:1px;border:0;" />
Understanding Your Pixel Tracking Data
What Gets Tracked
- Views: Each time the pixel image is loaded
- Sources: RSS readers, email clients, and other platforms
- Geographic data: Country-level location (anonymized)
- Timing: When content was viewed
- Content: Which specific posts or campaigns were viewed
RSS Reader Detection
The system automatically detects and categorizes different RSS readers:
- Feedly
- Inoreader
- NewsBlur
- The Old Reader
- And many more
Data in Your Dashboard
- View counts per content piece
- RSS subscriber estimates
- Email open rates (where applicable)
- Geographic distribution of pixel hits
- Timeline of content consumption
Troubleshooting
Pixel Not Loading
- Verify your site code is correct
- Check that the content platform allows external images
- Some email clients block images by default
Low Tracking Numbers
- RSS readers often cache content, reducing pixel loads
- Email clients may block images until user action
- Some privacy-focused readers/clients block tracking pixels
Testing Your Implementation
- Add the pixel to a test RSS feed or email
- View the content in different readers/clients
- Check your Tinylytics dashboard for new hits
- Verify the path parameter is being recorded correctly
Best Practices
Path Naming Conventions
Use consistent, descriptive paths:
/rss/post-title-slug
/newsletter/2024/01/weekly-update
/email/campaign-name
/social/platform/post-id
Privacy Considerations
- Always include empty
alt=""
attributes - Use minimal styling to keep pixels invisible
- Inform users about analytics tracking in your privacy policy
- Consider offering opt-out mechanisms where appropriate
Performance Tips
- Place pixels at the end of content when possible
- Use the
.gif
extension for better compatibility - Keep path parameters simple and URL-encoded
Limitations
- Email Clients: Many block images by default
- Privacy Tools: Some browsers/extensions block tracking pixels
- Cached Content: RSS readers may cache and not reload pixels
- Offline Reading: Won’t track content read offline
Getting Help
If you’re having trouble implementing pixel tracking: 1. Check your Tinylytics dashboard for any error messages 2. Test with a simple HTML file first 3. Verify your site code is active and correct 4. Contact support with specific implementation details
Remember: Pixel tracking complements, not replaces, regular JavaScript-based analytics. Use both methods for the most comprehensive view of your content’s reach.