
Recherche avancée
Autres articles (24)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (4829)
-
Matomo’s 2021 Year in Review
13 décembre 2021, par erin — Community -
Turn insights into action with the best marketing analytics tools
20 août, par JoeBehind every great marketing team is a marketing analytics platform that collects performance data and identifies ways to improve.
But with hundreds of tools to choose from in a market valued at over $5.6 billion, how can you find the best platform that offers cross-channel tracking and advanced analysis while staying on the right side of privacy laws ?
We’re here to help.
In this article, let’s review seven of the top marketing analytics tools, highlighting their standout features, pricing, and common community critiques. You’ll learn why choosing the right tool is crucial and what factors to consider when making a decision.
What are marketing analytics tools ?
Marketing analytics tools capture and analyse data from various marketing channels, such as your website, social media profiles, and paid ad campaigns.
Marketers use these platforms to find ways to optimise campaigns and drive more conversions. Marketing attribution tools, for example, measure marketing effectiveness and help marketers understand which channels drive the most conversions. As a result, they can optimise budgets, allocating more money to the most effective channels.
Multi-Channel conversion attribution in Matomo
(Image Source)Marketers can also reduce friction from the customer journey. Behavioural analytics tools like heatmaps and session recordings help marketing teams understand what’s stopping users from converting and run experiments to increase conversion rates.
Marketers can use an all-in-one analytics tool or a platform-specific alternative. Some analytics only track your social media efforts, for example. Others, like Matomo, let you track web visitors, paid ad performance, SEO data and attribute conversions from multiple campaigns.
The features and capabilities of marketing analytics tools can also vary by industry. For example, financial marketing analytics platforms will prioritise compliance and data security, while e-commerce teams focus on user behaviour analysis. Advanced tools now leverage machine learning to predict trends and automate insights, making them indispensable for data-driven decision-making.
7 of the best marketing analytics tools
With numerous marketing analytics platforms to choose from, it can be challenging to determine the best one for your business.
We’ve done the hard work, though. Below you’ll find reviews of seven of the leading tools, why they’re great and what customers say about them.
1. Matomo
Matomo Analytics is a leading ethical open-source marketing analytics platform that powers over a million websites in more than 190+ countries.
Main dashboard in Matomo
(Image Source)Why Matomo : Matomo empowers organisations to get the insights they need without compromising user privacy. Businesses can significantly reduce the amount of personal identifiable information they collect and comply with privacy laws like GDPR and CCPA. At the same time, they can use visitor logs to track the entire customer journey, assess the value of marketing channels using multi-touch attribution and analyse visitor behaviour using heatmaps and session recordings.
Standout features include multi-touch attribution, visitor logs, goal tracking, custom reports, e-commerce tools, form analytics, tag manager, Google Analytics Importer, heatmaps and session recordings.
Integrations : Matomo integrates with more than 100 content management systems, e-commerce platforms and frameworks, including WordPress, Cloudflare, Magento, Google Ads, Drupal, WooCommerce and Wix.
Strengths :
- 100% accurate, unsampled data
- Privacy-focused marketing analytics
- Complete data ownership
- Open-source software
- Self-hosting and cloud-based options
- A built-in GDPR Manager
Common community critiques :
- Non-technical users can experience a learning curve with some of the platform’s more advanced features
- Premium features are proprietary
Pricing : Matomo On-Premise is free to use. Matomo Cloud costs $23 per month and comes with a 21-day free trial (no credit card required).
2. Heap by Contentsquare
Heap by Contentsquare is a digital insights platform that gives businesses a near-real-time understanding of their users’ digital journeys.
Demo dashboard in Heap
(Image Source)Why Heap : Heap helps businesses paint a complete picture of their customers. It automatically records every user interaction (clicks, page views, form submissions and more) without manual event tagging to give marketers access to every metric and allow for retroactive analysis.
Standout features include data science tools that identify customer friction, journey analysis, session replays, heatmaps, pre-built dashboards and customer cohort analysis.
Strengths :
- Automatic event tracking eliminates the need for manual tagging, saving time and reducing implementation errors.
- Setting up Heap is easy with a single code snippet. You don’t need advanced technical skills.
- Real-time reporting and live data feeds help marketers quickly spot opportunities and issues.
Common community critiques :
- The volume of data capture can create more noise than signal, which clouds analysis
- Users can find the platform’s interface unintuitive
- Businesses can accidentally collect personally identifiable information (PII) if they don’t configure the platform correctly
Pricing : Heap has a limited free plan for up to 10,000 monthly sessions. Pricing for Growth, Pro and Premier plans is available upon request.
3. Mixpanel
Mixpanel is a product and marketing analytics platform that helps SaaS and mobile marketers track user retention and engagement.
Product metrics dashboard in Mixpanel
(Image Source)Why Mixpanel : Unlike traditional analytics tools that focus on pageviews and sessions, Mixpanel uses event-based analytics to track, analyse, and optimise user actions. It also has AI-powered predictive analytics that help marketers identify trends and proactively address churn.
Standout features include predictive analytics, funnel analysis, GA4 migration, A/B testing and real-time reports
Strengths :
- Intuitive dashboards and reports make Mixpanel accessible for non-technical users
- Extensive integrations ensure seamless data flow across your tech stack
- Advanced cohort analysis and customer segmentation support targeting and personalisation efforts
Common community critiques :
- The wide range of features means there’s a steep learning curve for new users
- Pricing rises quickly for enterprise users
- Event tracking can be difficult to set up
Pricing : Mixpanel has a free forever plan with limited features. Premium plans give you one million monthly events free and then charge $.00028 per event after that.
4. Funnel
Funnel is a low-code marketing data platform that automates the collection and transformation of marketing data from hundreds of sources.
Performance marketing dashboard in Funnel
(Image source)Why Funnel : Funnel is the ideal choice for marketers operating across dozens of different channels. It helps you gain a holistic view of marketing performance by pulling in data from over 500 sources, cleansing and visualising it.
Standout features include a vast number of integration partners, automated data collection and transformation, two-year data storage and custom integrations.
Strengths :
- Low-code setup makes Funnel accessible to anyone
- Highly responsive customer support
- Custom metrics for personalised reporting
Common community critiques :
- The visualisation features are fairly basic. Marketers often need to use other tools like Tableau.
- The platform has a steep learning curve
- Delays can occur when processing data from third-party sources
Pricing : Available upon request
5. HubSpot
HubSpot is a comprehensive analytics platform that helps marketers improve every stage of the buyer’s journey. Detailed insights and robust automation capabilities let marketers manage campaigns, track leads and optimise customer experiences.
Marketing dashboard in HubSpot
(Image Source)Why HubSpot : HubSpot’s all-in-one platform is ideal for marketing and sales teams that want to paint a complete picture of their combined efforts. Analytics features let marketers track visitors and campaign performance, while automation tools nurture prospects and turn visitors into MQLs.
Standout features include an easy-to-use dashboard, marketing automation, A/B testing and pre-made reports.
Strengths :
- A very intuitive dashboard makes it easy for users of all abilities to navigate
- Powerful automation features help marketers save time
- There’s strong customer support and a large community of certified partners
Common community critiques :
- Pricing is expensive and increases quickly
- Engagement tracking is less granular than dedicated behavioural analytics tools
- The wide range of features can lead to analysis paralysis
Pricing : Marketing Hub Professional starts at $800 per month. Marketing Hub Enterprise starts from $3,600 per month.
6. Whatagraph
Whatagraph is a marketing analytics and automated reporting platform that helps agencies and in-house teams turn complex, multi-channel marketing data into visually easy-to-understand reports.
Web analytics report in Whatagraph
(Image Source)Why Whatagraph : Whatagraph is a great choice for companies that prioritise data visualisation. It lets users combine data from over 50 sources into customisable dashboards and reports. There are plenty of ready-made templates as well as a drag-and-drop interface in case you want to create your own.
Standout features include direct integration with 50+ data sources, data blending across different channels, digital ad spend tracking and automated report creation.
Strengths :
- A very intuitive and user-friendly interface that lets anyone start building reports immediately
- Visually appealing reports make it easy to share insights with stakeholders
- Highly responsive support team
Common community critiques :
- No freemium pricing
- It can take users time to get to grips with Whatagraph’s wide range of features
- It lacks native integrations for some platforms
Pricing : Available on request
7. Google Analytics
Google Analytics offers two analytics platforms : GA4 and GA360. GA4 is Google’s free analytics solution you’re probably familiar with. GA360 is the premium, enterprise-level version of GA4. It’s built for large organisations with complex analytics needs and high data volumes.
Home page in GA4
(Image Source)Why Google : GA4 is a well-known and widely used analytics platform. It’s free, familiar to most people and has plenty of online resources to help if you get stuck. However, it doesn’t protect user privacy, uses data sampling and lacks advanced features like behavioural analytics.
GA360 users can configure the platform to be more privacy-friendly, but there are still better (and cheaper) privacy-friendly alternatives.
Standout features include event-based tracking, cross-platform tracking, audience segmentation and real-time reporting.
Strengths :
- GA4 is free to use
- There’s no shortage of online guides
- Cross-platform tracking helps you get a better view of your visitors
Common community critiques :
- Not privacy focused or GDPR-compliant
- Data sampling muddles insights
- Both GA4 and GA360 look and are very different from Universal Analytics
Pricing : GA4 is free to use. GA360 pricing is available on request
What are the benefits of marketing analytics tools
Research by Supermetrics reveals that marketing teams are using 230% more data than they did in 2020.
Analytics tools are the primary means of generating marketing data, but they have other uses as well. Here are four reasons every department needs a comprehensive analytics platform :
- Track marketing efforts. Marketing analytics offers a unified view of all your campaigns across channels — from paid ads and social media to email and organic search. By consolidating data from multiple sources, these platforms help marketers monitor campaign performance in real time and prove campaign effectiveness to stakeholders.
- Improve customer understanding. Analytics platforms that have built-in behavioural tracking capabilities like heatmaps and session recordings help marketers generate qualitative and quantitative data that reveals how users interact with your site, what content resonates and where friction points occur.
- Optimise web and marketing experiences. Marketing is a game of continuous improvement. Analytics platforms help marketing teams attribute conversions to specific campaigns, refine user journeys with A/B testing and improve the overall experience.
- Drive more conversions. Ultimately, the goal of marketing analytics is to increase conversions, whether that means sales, sign-ups or other events. Performance insights help marketers fine-tune their strategies, target high-value segments, and craft campaigns that move prospects down the funnel more efficiently. In a world where marketing budgets are falling by 15% year-on-year, it’s important to squeeze every drop of ROI from your campaigns.
Top features to look for in a marketing analytics tool
With so many platforms to choose from, picking the right analytics tool can be a challenge.
Make it easier for yourself by looking for a tool that offers features to enhance your insights while ensuring your business remains compliant with data privacy regulations.
Advanced analytics features
Don’t settle for a simple web analytics tool or try to juggle different analytics platforms for each channel. Instead, choose a single tool that provides a range of advanced analytics features, including the following :
By doing so, you’ll get everything you need from a single platform. This will keep costs down and make managing marketing data much easier.
Data visualisation
A great marketing analytics tool will offer customizable dashboards and reports that marketers can use to make sense of complex data. Look for :
- Drag-and-drop interfaces
- Pre-built templates
- Detailed visitor profiles
Data visualisation not only aids decision-making but also helps communicate results clearly to non-technical team members and executives.
Near-real-time reporting
Many platforms will claim to offer real-time reporting. But that’s rarely possible. Instead, choose tools with near-real-time reporting that help marketers measure the impact of campaigns as quickly as possible.
Matomo, for example, offers a Visits in Real-time Report that lets you see the flow of visitors on your site and shows how many people visited in the last 30 minutes and 24 hours.
Visits Overview in Matomo
The report refreshes every 5 seconds to display new visits and tracks a range of visitor attributes, including country, operating system, referrer, time spent on site and whether they are a new or returning visitor.
Data security and privacy
Data privacy should be a top priority for modern marketers. Employing ethical analytics and data practices will mean you don’t have to annoy users with cookie banners. But it also improves trust and minimises legal risk.
Choose analytics tools that are transparent about data collection, offer robust privacy controls, and comply with regulations like GDPR and CCPA. Features such as anonymised tracking, customisable consent banners and secure data storage help protect both your business and your customers.
Matomo has all of these features and more, protecting your visitors’ privacy in a dozen different ways.
100% data ownership and no sampling
A lot of analytics platforms don’t let you own or properly use your data. Data sampling — where tools only analyse a portion of your data — is a particular problem in Google Analytics. It clouds insights, meaning marketers make decisions based on guesses, not facts.
Who owns your data matters, too. When you use a platform like Google Analytics, you give permission for Google to use your customers’ data for advertising purposes.
Instead of trading your customers’ data for free analytics, use a platform that gives you 100% ownership of your data. Matomo does this in a couple of ways :
- Matomo On-Premise offers 100% data ownership, as it’s hosted on your own servers. You choose where to store it, and we cannot access it.
- Matomo Analytics for WordPress provides a self-hosted WordPress-specific option that offers the benefits of On-Premise without the technical setup.
- Matomo Cloud subscriptions are governed by our Terms, which state that you own all rights, titles and interests in your users’ data. In other words, we can’t sell it to third parties or claim ownership.
While Matomo products may change, our commitment to privacy never will. You’ll always be able to self-host Matomo for free.
Matomo Heap Mixpanel Funnel HubSpot Whatagraph Google Analytics Privacy/GDPR-friendly ✔️ Open-source ✔️ Self-hosting option ✔️ Multi-touch attribution ✔️ Heatmaps & session recordings ✔️ ✔️ ⚠️¹ Goal tracking ✔️ ✔️ ✔️ ✔️ Custom reports ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ E-commerce tracking ✔️ ✔️ ✔️ ✔️ Tag manager ✔️ ✔️ ✔️ GA importer ✔️ Real-time reporting ✔️ ✔️ ✔️ ✔️ ⚠️² ✔️ Predictive analytics ✔️ A/B testing ✔️ ✔️ Marketing automation ✔️ Visualisation / dashboards ✔️ ✔️ ✔️ ⚠️³ ✔️ ✔️ ✔️ Automated reporting ✔️ Free plan available ✔️ ✔️ ✔️ ✔️ Trust Matomo for comprehensive marketing analytics
The right analytics platform empowers marketers to track campaigns across channels, gain deep insights into customer behaviour, optimise user experiences and ultimately drive more conversions.
If you care about collecting data while respecting your users’ privacy, a tool like Matomo is the way to go. Try Matomo free for 21 days. No credit card required.
-
Using PyAV to encode mono audio to file, params match docs, but still causes Errno 22
20 février 2023, par andrew8088While trying to use PyAV to encode live mono audio from a microphone to a compressed audio stream (using mp2 or flac as encoder), the program kept raising an exception
ValueError: [Errno 22] Invalid argument
.

To remove the live microphone source as a cause of the problem, and to make the problematic code easier for others to run/test, I have removed the mic source and now just generate a pure tone as a sequence of input buffers.


All attempts to figure out the missing or mismatched or incorrect argument have just resulted in seeing documentation and examples that are the same as my code.


I would like to know from someone who has used PyAV successfully for mono audio what the correct method and parameters are for encoding mono frames into the mono stream.


The package used is av 10.0.0 installed with

pip3 install av --no-binary av

so it uses my package-manager provided ffmpeg library, which is version 4.2.7.

The problematic python code is :


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Recreating an error 22 when encoding sound with PyAV.

Created on Sun Feb 19 08:10:29 2023
@author: andrewm
"""
import typing
import sys
import math
import fractions

import av
from av import AudioFrame

""" Ensure some PyAudio constants are still defined without changing 
 the PyAudio recording callback function and without depending 
 on PyAudio simply for reproducing the PyAV bug [Errno 22] thrown in 
 File "av/filter/context.pyx", line 89, in av.filter.context.FilterContext.push
"""
class PA_Stub():
 paContinue = True
 paComplete= False

pyaudio = PA_Stub()


"""Generate pure tone at given frequency with amplitude 0...1.0 at 
 sampling frewuency fs and beginning at phase offset 'phase'.
 Returns the new phase after the sinusoid has cycled over the 
 sampling window length.
"""
def generate_tone(
 freq:int, phase:float, amp:float, fs, samp_fmt, buffer:bytearray
) -> float:
 assert samp_fmt == "s16", "Only s16 supported atm"
 samp_size_bytes = 2
 n_samples = int(len(buffer)/samp_size_bytes)
 window = [int(0) for i in range(n_samples)]
 theta = phase
 phase_inc = 2*math.pi * freq / fs
 for i in range(n_samples):
 v = amp * math.sin(theta)
 theta += phase_inc
 s = int((2**15-1)*v)
 window[i] = s
 for sample_i in range(len(window)):
 byte_i = sample_i * samp_size_bytes
 enc = window[sample_i].to_bytes(
 2, byteorder=sys.byteorder, signed=True
 )
 buffer[byte_i] = enc[0]
 buffer[byte_i+1] = enc[1]
 return theta


channels = 1
fs = 44100 # Record at 44100 samples per second
fft_size_samps = 256
chunk_samps = fft_size_samps * 10 # Record in chunks that are multiples of fft windows.

# print(f"fft_size_samps={fft_size_samps}\nchunk_samps={chunk_samps}")

seconds = 3.0
out_filename = "testoutput.wav"

# Store data in chunks for 3 seconds
sample_limit = int(fs * seconds)
sample_len = 0
frames = [] # Initialize array to store frames

ffmpeg_codec_name = 'mp2' # flac, mp3, or libvorbis make same error.

sample_size_bytes = 2
buffer = bytearray(int(chunk_samps*sample_size_bytes))
chunkperiod = chunk_samps / fs
total_chunks = int(math.ceil(seconds / chunkperiod))
phase = 0.0

### uncomment if you want to see the synthetic data being used as a mic input.
# with open("test.raw","wb") as raw_out:
# for ci in range(total_chunks):
# phase = generate_tone(2600, phase, 0.8, fs, "s16", buffer)
# raw_out.write(buffer)
# print("finished gen test")
# sys.exit(0)
# #---- 

# Using mp2 or mkv as the container format gets the same error.
with av.open(out_filename+'.mp2', "w", format="mp2") as output_con:
 output_con.metadata["title"] = "My title"
 output_con.metadata["key"] = "value"
 channel_layout = "mono"
 sample_fmt = "s16p"

 ostream = output_con.add_stream(ffmpeg_codec_name, fs, layout=channel_layout)
 assert ostream is not None, "No stream!"
 cctx = ostream.codec_context
 cctx.sample_rate = fs
 cctx.time_base = fractions.Fraction(numerator=1,denominator=fs)
 cctx.format = sample_fmt
 cctx.channels = channels
 cctx.layout = channel_layout
 print(cctx, f"layout#{cctx.channel_layout}")
 
 # Define PyAudio-style callback for recording plus PyAV transcoding.
 def rec_callback(in_data, frame_count, time_info, status):
 global sample_len
 global ostream
 frames.append(in_data)
 nsamples = int(len(in_data) / (channels*sample_size_bytes))
 
 frame = AudioFrame(format=sample_fmt, layout=channel_layout, samples=nsamples)
 frame.sample_rate = fs
 frame.time_base = fractions.Fraction(numerator=1,denominator=fs)
 frame.pts = sample_len
 frame.planes[0].update(in_data)
 print(frame, len(in_data))
 
 for out_packet in ostream.encode(frame):
 output_con.mux(out_packet)
 for out_packet in ostream.encode(None):
 output_con.mux(out_packet)
 
 sample_len += nsamples
 retflag = pyaudio.paContinue if sample_lencode>


If you uncomment the RAW output part you will find the generated data can be imported as PCM s16 Mono 44100Hz into Audacity and plays the expected tone, so the generated audio data does not seem to be the problem.


The normal program console output up until the exception is :


mp2 at 0x7f8e38202cf0> layout#4
Beginning
 5120
. 5120



The stack trace is :


Traceback (most recent call last):

 File "Dev/multichan_recording/av_encode.py", line 147, in <module>
 ret_data, ret_flag = rec_callback(buffer, ci, {}, 1)

 File "Dev/multichan_recording/av_encode.py", line 121, in rec_callback
 for out_packet in ostream.encode(frame):

 File "av/stream.pyx", line 153, in av.stream.Stream.encode

 File "av/codec/context.pyx", line 484, in av.codec.context.CodecContext.encode

 File "av/audio/codeccontext.pyx", line 42, in av.audio.codeccontext.AudioCodecContext._prepare_frames_for_encode

 File "av/audio/resampler.pyx", line 101, in av.audio.resampler.AudioResampler.resample

 File "av/filter/graph.pyx", line 211, in av.filter.graph.Graph.push

 File "av/filter/context.pyx", line 89, in av.filter.context.FilterContext.push

 File "av/error.pyx", line 336, in av.error.err_check

ValueError: [Errno 22] Invalid argument

</module>


edit : It's interesting that the error happens on the 2nd AudioFrame, as apparently the first one was encoded okay, because they are given the same attribute values aside from the Presentation Time Stamp (pts), but leaving this out and letting PyAV/ffmpeg generate the PTS by itself does not fix the error, so an incorrect PTS does not seem the cause.


After a brief glance in
av/filter/context.pyx
the exception must come from a bad return value fromres = lib.av_buffersrc_write_frame(self.ptr, frame.ptr)

Trying to dig intoav_buffersrc_write_frame
from the ffmpeg source it is not clear what could be causing this error. The only obvious one is a mismatch between channel layouts, but my code is setting the layout the same in the Stream and the Frame. That problem had been found by an old question pyav - cannot save stream as mono and their answer (that one parameter required is undocumented) is the only reason the code now has the layout='mono' argument when making the stream.

The program output shows layout #4 is being used, and from https://github.com/FFmpeg/FFmpeg/blob/release/4.2/libavutil/channel_layout.h you can see this is the value for symbol AV_CH_FRONT_CENTER which is the only channel in the MONO layout.


The mismatch is surely some other object property or an undocumented parameter requirement.


How do you encode mono audio to a compressed stream with PyAV ?