اگر از گوگل آنالیتیکس برای تحلیل و آنالیز اطلاعات سایتتان استفاده می‌کنید؛ احتمالا برای جستجو دقیق و مشاهده اطلاعات مورد نظرتان از فیلتر،”advance search” یا روش‌های دیگر استفاده می‌کنید. احتمالا اسم “Regular expression” را شنیده باشید، اگر نشنیده‌اید هم نگران نباشید! در ادامه این مقاله، به صورت کامل توضیح خواهیم داد.

در واقع “Regular expression” که به اختصار به آن “RegEx” می‌گویند، کاراکترهایی هستند که در عباراتی که می‌خواهید جستجو کنید، به کار می‌روند تا به نتایج دقیق‌تری که مد نظر دارید، برسید.

حتی اگر چیزی از برنامه‌نویسی نمی‌دانید، این مقاله مناسب شماست. چون سعی کردیم به زبان ساده، رجکس‌ها (RegEx) را توضیح دهیم تا با استفاده از آن‌ها بتوانید جستجوهای حرفه‌ای‌تری انجام دهید و اطلاعات خود را بهتر و دقیق‌تر تحلیل و نتیجه‌گیری کنید.

در این مطلب از آنالیتیپس:

  • ابتدا رجکس (RegEx) را تعریف می‌کنیم.
  • انواع آن را با مثال‌های متعدد توضیح می‌دهیم و 5 مورد از موارد کاربردی استفاده از رجکس‌ها را بیان می‌کنیم.
  • چند مثال کاربردی را ذکر می‌کنیم و نکات و اشتباهات رایج را توضیح می‌دهیم.

همچنین در آخر، در یک جدول، انواع رجکس‌ها را با ذکر تعریف، مثال انطباق و عدم انطباق گردآوردی کرده‌ایم تا با یک نگاه کوتاه به آن، کاربرد رجکس‌ها را با همدیگر مرور کنیم. پس تا انتهای مطلب، همراه باشید:)

RegEx گوگل آنالیتیکس چیست؟

RegExها متون خاصی هستند که به وسیله آن‌ها الگوهای جستجو را می‌سازیم. در واقع رجکس‌ها به شما کمک می‌کنند که اطلاعات مختلف را پیدا کنید، آن‌ها را محدود و استخراج کنید. می‌توانید در گوگل آنالیتیکس، RegExها را در مواردی مثل فیلترها، goalها، segmentها، مخاطبین، انواع محتوا و همینطور انواع کانال‌ها استفاده کنید.

اساسا RegExها کاراکترهای از پیش تعیین شده هستند که با اطلاعات گوگل آنالیتیکس شما تطبیق پیدا می‌کنند و به کمک آن، می‌توانید جستجو دقیق‌تری داشته باشید. حالا RegExها را معرفی کرده و کاربرد هر کدام را توضیح می‌دهیم.

بررسی انواع RegEx

1. (|) Pipe:

وقتی که می‎‌خواهید از OR(یا) استفاده کنید، باید از “|” استفاده کنید.

برای مثال در تنظیم Goal، اگر دو صفحه تشکر با دو URL مختلف دارید و می‌خواهید اطلاعات هر دو صفحه را یک‌جا ببینید، باید از OR یا “|” استفاده کنید. همچنین می‌توانید هنگام فیلتر کردن، از آن استفاده کنید.

 (|)RegEx Pipe

در این فیلتر، با استفاده از رجکس “|”، اطلاعات دو بلاگ‌پست مختلف را مشاهده می‌کنید.

2. (^) Caret:

این رجکس زمانی به کار می‌رود که یک عبارت با کلمه‌ای خاص شروع شود. وقتی یک عبارت دارید که جاهای مختلف استفاده شده، اما می‌خواهید اطلاعاتی را ببینید که با کلمه خاصی آغاز شده باید از “^” استفاده کنید.

همچنین با استفاده از shoe”^”، اطلاعات مربوط به “shoe”، “shoes”، “shoes for winter” را می‎‌بینید؛ اما اطلاعات مربوط به “winter shoe” را پیدا نمی‌کنید.

 (^)RegEx Caret

در مثال بالا، کلمه “mission” جاهای مختلف استفاده شده، اما با استفاده از  ^mission”” به اطلاعاتی دست پیدا می‌کنیم که دقیقا با “mission” شروع شده است.

همچنین در تصویر زیر، در قسمت کمپین‌ها اطلاعاتی را پیدا می‌کنیم که با Freemium”” شروع شده است.

Filter: Freemium

3.  ($) Dollar sign:

رجکس “$” به این معنی است که یک عبارت با کلمه‌ای خاص تمام شده است. مثلا با استفاده از “shoe$”، اطلاعات مربوط به “shoe”، “winter shoe” را می‌بینید ولی اطلاعات مربوط به “winter shoes” را نخواهید یافت.

فرض کنید دو کمپین “paidacquisitionfb” و “paidacquisitionfb-2” دارید، می‌توانید با استفاده از “^paidacquisitionfb$”، به اطلاعات کمپین موردنظر دسترسی پیدا کنید. 

 ($)RegEx Dollar sign

4. (.) Dot:

رجکس “.” با هر کاراکتری مثل اعداد، حروف و حتی space”” منطبق می‌شود. به این صورت که با استفاده از “ki..” به هر عبارتی که با “ki” آغاز شود دسترسی خواهید داشت؛ بدون توجه به اینکه بعد از آن چه چیزی بیاید. پس به عباراتی مثل “kill”، “kin”، “kid” دسترسی خواهید داشت.

(.)RegEx Dot

 

استفاده از “.” به تنهایی کاربرد خاصی ندارد و دسته‌بندی خاصی ایجاد نمی‌کند، بلکه باید با سایر رجکس‌ها ترکیب شود تا به جستجوی دقیقی برسید.

5. (*) Asterisk: 

وقتی یک کلمه با املاهای مختلف نوشته می‌شود و شما می‌خواهید به همه آن‌ها دسترسی داشته باشید، باید از رجکس “*” استفاده کنید.

برای مثال، با استفاده از  “boo*ks” عباراتی مثل “boks”، “books”، “boooks” را پیدا می‌کنید. در واقع کاراکتر قبل “*” می‌تواند حذف شده باشد یا به دفعات تکرار شود. برای استفاده بهتر، می‌توان این رجکس را با رجکس”.”  ترکیب کرد که در ادامه توضیح می‌دهیم.

6. (.*) Dot-Asterisk combination:

ترکیب این دو رجکس بسیار کاربردی است. فرض کنید انواع مختلفی حساب کاربری برای مشتری دارید که با عباراتی مثل pro””، free”” و “starter” تعریف شده‌اند و اطلاعات آن‌ها را با عبارات زیر دارید:

/customer/pro/login/

/customer/free/login/

/customer/starter/login/

با استفاده از “/customer/.*/login” کل اطلاعات بالا را خواهید یافت.RegEx Dot-Asterisk combination(.*)

در مثال بالا، تمام سشن‌هایی که “user ID” دارند، نمایش داده ‌می‌شوند.

نکته: زمان پردازش این رجکس کمی طولانی است، پس صبور باشید!

7. (+) Plus sign:

این رجکس شبیه “*” است با این تفاوت که در عبارت مورد نظرتان باید یک یا تعداد بیشتری از کاراکتر قبلی وجود داشته باشد. مثلا با استفاده از “hh+ello” شما فقط به “hhello” و “hhhello” دسترسی خواهید داشت و به “hello” دسترسی ندارید.

8. (?) Question mark:

این رجکس به این معنی است که کاراکتر آخر اختیاری است و می‌تواند حذف شود. این رجکس بیشتر در اشتباهات املایی استفاده می‌شود.

مثلا برای دیدن اطلاعات مربوط به “shoes” و “shoe”، می‌توان از “shoes?” استفاده کرد. تصویر زیر، عباراتی مثل “Stefan”، “steffan”، “reggex” و “regex” را شامل می‌شود.

RegEx Question mark

9. () Parentheses:

عملکرد رجکس “()” در گوگل آنالیتیکس مثل عملکرد “()” در ریاضی است و برای اولویت‌بندی و مجزا کردن استفاده می‌شود. مثلا برای دیدن اطلاعات مربوط به این عبارات:

site.com/products/meetings/pricing

site.com/products/crm/pricing

site.com/products/email/pricing

از عبارت /products/(meetings|crm|email)/pricing?^ استفاده می‌کنیم.

حالا این عبارت را تفسیر می‌کنیم. عبارت مورد نظر ما با /products”” آغاز می‌شود و با “pricing” تمام می‌شود و عباراتی که در قسمت میانی، دارای کلمات “meetings” یا “crm” یا “email” هستند، ظاهر می‌شوند.

هرچه بیشتر در مورد رجکس‌های گوگل آنالیتیکس بدانید، سریع‌تر و دقیق‌تر می‌توانید از آن‌ها استفاده کنید.

10. ([ ]) Square brackets:

این رجکس یک لیست می‌سازد. اگر 3 عبارت دارید که مثلا کلمه اولشان “buy” است و بعد از آن، عدد 1، 2، 3 و … نوشته شده است، با استفاده از “buy[123]” یا “buy[1-3]” می‌توانید همه عبارات مربوطه را ببینید.

یک مثال دیگر می‌زنیم تا بهتر متوجه شوید. فرض کنید می‌خواهید عبارات “can”، “man” و “fan” را ببینید و عبارات “dan”، “ran” و “pan” در نتایج نباشد. با استفاده از [cmf]an”” می‌توانید به عبارات مورد نظر خود دست پیدا ‌کنید.

RegEx Square brackets

پس داخل براکت یا همان کروشه ([ ])، دقیقا کاراکترهایی که می‌خواهید ظاهر شوند را قرار ‌دهید و اگر بخواهید یک بازه عددی یا حروف را مشخص کنید از “-” استفاده کنید.

11. (-) Dashes:

همانطور که در قسمت براکت یا کروشه ([ ]) گفته شد، در تهیه لیست، اگر اعداد مدنظر ما پشت سر هم باشد، با استفاده از “-“، دیگر لازم نیست تک تک آن اعداد نوشته شود.

این مسئله برای حروف، به ترتیب حروف الفبا صادق است.

پس به جای “buy[0123456789]”، می‌توانید از “buy[0-9]” استفاده کنید. برای درک بهتر، به یک مثال دیگر توجه کنید.

فرض کنید دسته‌بندی صفحات سایت شما به این صورت است که به دو حرف رندوم ختم می‌شود. مثل “/page-aa/”

با استفاده از “/page-[a-z]*/ می‌توانید اطلاعات تمام این صفحات را مشاهده کنید.

  • [a-z] با تمام حروف کوچک منطبق می‌شود.
  • [A-Z] با تمام حروف بزرگ منطبق می‌شود.
  • [0-9] با تمام اعداد 0 تا 9 منطبق می‌شود.
  • [a-zA-Z0-9] با تمام حروف و اعداد منطبق می‌شود.

12. ({ }) Curly brackets:

این رجکس تعداد دفعات تکرار کاراکتر آخر را بیان می‌کند. مثلا می‌توانید برای “wazzzzup”، عبارت waz{4}up”” را به کار ببرید. همچنین برای مشاهده “wazzzup” و “wazzzzzup” می‌توان از waz{3,5}up”” استفاده کرد.

RegEx ({ }) Curly brackets
  • “{1,2}” به این معنی است که کاراکتر یا آیتم آخر، حداقل یک بار و حداکثر دو بار تکرار شده باشد.
  • {2}”” یعنی کاراکتر آخر دقیقا دو بار تکرار شده باشد.

این رجکس استفاده زیادی ندارد. اما در گروه‌بندی اعداد طولانی مثل کدپستی کاربردی است. برای نمونه “^12[0-9]{3}” به این معنی است: عباراتی که با 12 آغاز شوند و بعد از آن هر 3 عددی که بین 0 تا 9 است باشد.

13. (\) Backslash:

این رجکس بسیار کاربردی است و به این معنی است که کاراکتری که بعد از آن قرار می‌گیرد، باید به عنوان متن ساده در نظر گرفته شود، نه رجکس.

ممکن است بخواهید از رجکس‌هایی مثل “dot”، “question mark” و …، به عنوان متن ساده استفاده کنید. این نوع Regular Expression، کاراکترهای رجکس را به کاراکترهای نرمال تبدیل می‌کند.

مثلا در آدرس آی پی، کاراکتر “.” را داریم ولی کاراکتر ساده است و رجکس نیست. پس باید به این صورت بنویسیم:

67\.172\.171\.105

با یک مثال دیگر توضیح می‌دهیم:

همانطور که می‌دانید در Search Query، علامت سوال و “/” داریم.

مثل: /search/?q=

اگر بخواهیم این علامت سوال و “/” به صورت کاراکتر ساده خوانده شوند و regular  expression نباشند، باید از “”\ استفاده کنیم. پس باید بنویسیم:

search\/\?q=

RegEx (\) Backslash

برای درک بهتر، در جدول زیر معنی هر کدام از رجکس‌ها را توضیح داده و مثال زده‌ایم که با چه عباراتی منطبق می‌شود یا نمی‌شود.

علامت

معنی

مثال

منطبق می‌شود با

منطبق نمی‌شود با

. هر کاراکتری metr.cs metrics metrcs
* تعداد صفر یا بیشتر از کاراکتر قبلی goo*gle gogle, gooooogle goggle
.* همه چیز web.*certificate web analyst certificate
| OR (یا) web|analyst web, website, analyst analytics
? تعداد صفر یا یک بار از کاراکتر قبلی web?2 we2, web2 webb2
+ تعداد یک یا بیشتر از کاراکتر قبلی web+2 web2, webb2 we2
^ شروع شود با ^web analyst web analyst online web analyst
$ تمام شود با web analyst$ online web analyst web analyst skills
گروه‌بندی
[abc] بازه (a, b or c) analy[zs]e analyse, analyze analyxe
[a-z] بازه (a تا z) goog[1-3] goog1, goog2, goog3 goog4
{a} تعداد دفعات تکرار z{3} zzz z, zz
{a,z} از a تا z دفعه تکرار z{1-3} z, zz, zzz zzzz
{a,} حداقل تعداد تکرار go{2,}gle google, gooogle ggle, gogle
() گروه ^(goog|web)[0-9]+ goog1, web2 gooog2

5 روش موثر برای استفاده از رگولار اکسپرشن‌های گوگل آنالیتیکس

تا الان متوجه شدید که هر کدام از رجکس‌ها چه کاربردی دارند. حال پنج موقعیت که در آن‌ها می‌توان از Regular Expressionها استفاده کرد را توضیح می‌دهیم.

1. فیلتر کردن جدول

می‌توانید برای رسیدن به جستجو حرفه‌ای در فیلتر کردن جدول‌ها، از رجکس‌ها استفاده کنید. به مثال زیر توجه کنید:

می‌خواهیم صفحاتی که با “/google-analytics” آغاز می‌شوند را بیابیم.

Filtering

پس دیگر نیازی نیست به قسمت “advanced filter” برویم. اگر رجکس‌ها را خوب بشناسید، می‌توانید در عرض چند ثانیه به جستجو مورد نظر خود برسید.

2. تنظیم کردن فیلتر

در این مقاله چند نمونه فیلتر که دارای رگولار اکسپرشن بودند را مثال زدیم. با ترکیب رجکس‌های مختلف می‌توانید فیلترهای دلخواه بسازید.

3. تنظیم کردن Goals

گوگل آنالیتیکس، چهار نوع گل (goal) متفاوت دارد. ما در مقاله 0 تا 100 ایجاد goal، به طور کامل این چهار نوع هدف را توضیح داده‌ایم.

  • Destination
  • Duration
  • Pages/Screen per session
  • Event

در قسمت Destination، رجکس‌ها بسیار کاربردی هستند.

RegEx در تعیین Goals

 

همچنین معمولا صفحه تشکر یک گل، شامل پارامترهایی است که شبیه صفحات دیگر است. پس استفاده از رگولار اکسپرشن‌ها می‌تواند در پیدا کردن صفحه مورد نظر به شما کمک کند.

4. تعریف کردن مراحل قیف (Funnel)

در عکس بالا می‌بینید که ساخت قیف، اختیاری است. شما می‌توانید آن گزینه را فعال کنید و برای یک گل، 20 مرحله قیف تعریف کنید. البته امیدواریم 20 مرحله برای قیف تعریف نکنید! چرا که نرخ تبدیل شما نزدیک به صفر می‌شود.

به هر حال، مثل صفحه تشکر، در تنظیم مراحل قیف در گوگل آنالیتیکس هم می‌توانید از رجکس‌ها استفاده کنید.

5. تنظیم کردن segments(بخش‌بندی)

به صورت پیش‌فرض، گزارش‌های گوگل آنالیتیکس در حالت “all session” است. اما نیاز است که در گزارش‌ها عمیق‌تر شوید. این امر با ساخت segmentها امکان‌پذیر است. پس با استفاده از رجکس‌ها، segmentهای کاربردی بسازید.

RegEx تنظیم کردن segments

 

دو روش برای امتحان کردن رجکس‌ها

برای اینکه مطمئن شوید رگولار اکسپرشن مورد نظرتان را درست انتخاب کرده‌اید، دو راه وجود دارد:

1.در گوگل آنالیتیکس در قسمت فیلتر، عبارت مورد نظر را در قسمت “search” وارد کنید و ببینید نتیجه با چیزی که می‌خواهید، تطابق دارد یا خیر.

2. از ابزارهای آنلاین استفاده کنید.

می‌توانید عبارت مورد نظر را در ابزارهای آنلاین وارد کنید و نتیجه را مشاهده کنید. همچنین می‌توانید برای آموزش و تمرین از این ابزارهای آنلاین استفاده کنید.

در اینجا آدرس دو سایت برای آزمایش رگولار اکسپرشن را معرفی می‌کنیم.

امیدواریم تا این قسمت مقاله، به درک درستی از Regular Expressionها و موارد استفاده از آن‌ها رسیده باشید. حالا چند مثال کاربردی می‌زنیم.

مثال‌هایی برای استفاده از رجکس‌ در گوگل آنالیتیکس

یکی از متداول‌ترین موارد استفاده از رجکس‌های گوگل آنالیتیکس، در ساخت فیلتر است. در ادامه 3 مثال می‌زنیم.

مثال اول:

فرض کنید که یک سایت با ساختار نامنظم دارید و می‌خواهید اطلاعات مربوط به تمام پست‌ها را بر اساس دسته‌بندی سایت یا نوع محتوا ببینید. در این مثال ما اطلاعات صفحات لندینگ پیجی را می‌خواهیم که قسمت سومشان در دسته music”” قرار گرفته باشد. پس می‌نویسیم:

^/.*/.*/music/.*

ما به گوگل آنالیتیکس می‌گوییم که لندینگ پیج‌هایی را نمایش دهد که با “/” آغاز می‌شوند(^/) و بعد از آن هر کاراکتری قرار دارد(.*)، بعد از آن (/) قرار دارد، سپس هر کاراکتری باشد، بعد (/) باشد و بعد هم “music”.

شاید در ابتدا کمی گیج‌کننده باشد اما بعد از اینکه یاد گرفتید این رجکس‌ها چه معنایی دارند، استفاده از آن‌ها بسیار آسان می‌شود.

مثال دوم:

در این مثال می‌خواهیم برای قسمت view”” گوگل آنالیتیکس، یک فیلتر بسازیم. برای ساخت فیلتر مراحل زیر را پیش بروید:

Admin> Filters> Add Filter

احتمالا یکی از پراستفاده‌ترین فیلترها در گوگل آنالیتیکس، حذف ترافیک آدرس آی‌پی خودتان است. شما می‌توانید به سادگی این تنظیمات را انجام دهید؛ چرا که فقط یک آی‌پی دارید. شرکت‌های بزرگ که چندین آی‌پی دارند هم می‌توانند با این تنظیمات و استفاده از “[ ]” و “_”، ترافیک خودشان را از سایت کم کنند.

Filter Pattern

مثال سوم:

در این مثال می‌بینیم که چگونه می‌توان دامنه‌ها و زیردامنه‌ها را سازمان‌دهی کرد. اگر شما چندین دامنه و زیردامنه دارید، ممکن است بدون تنظیم فیلتر، URLهای مشابه داشته باشید. مثل:

  • com/about
  • site.com/about

این دو آدرس، دو صفحه مختلف هستند؛ یکی قسمت “درباره ما” شرکت است و دیگری قسمتی از بلاگ شماست. اما هر دو در گوگل آنالیتیکس، بدون تنظیم فیلتر به عنوان “/about” ظاهر می‌شوند.

نکته‌ها و اشتباهات رایج استفاده از regular expression در گوگل آنالیتیکس

برای یادگیری رجکس‌ها باید تمرین زیادی داشته باشید تا مسلط شوید. قطعا احتمال اشتباه وجود دارد.

اولین و مهم‌ترین نکته این است که آزمون و خطا کنید. کمی قبل‌تر در این مقاله، دو روش برای آزمون رجکس را بیان کردیم. از آن‌ها استفاده کنید و عبارت مورد نظر را تست کنید.

یکی از رایج‌ترین اشتباهات که در نوشتن رجکس‌ها وجود دارد این است که کاراکترهای ساده به عنوان رجکس خوانده شوند. مثلا یک کوئری، علامت سوال دارد. همانطور که می‌دانید علامت سوال، یک رجکس است. پس باید با استفاده از “backslash”(\) بیان کنید که اینجا منظور از علامت سوال، خود کاراکترش است و نه رجکس.

مثلا اگر دنبال صفحاتی می‌گردید که با عبارت “thankyou/?success=yes” تطبیق پیدا کنند و چیزی پیدا نمی‌کنید، به این علت است که علامت سوال خودش یک رجکس است. پس می‌نویسیم: “thankyou/\?success=yes”

نکته دیگر این است که رجکس‌ها با همه چیز تا جایی که بتوانند منطبق می‌شوند! مثلا اگر عبارت شما، “visits” است،“new visits” و “repeat visits” در نتایج ظاهر می‌شوند، چون “visits” را شامل می‌شوند. پس اگر تنها “new visits” را می‌خواهید، فقط از “new” استفاده کنید.

نکته دیگر این است که در مرحله اول، سعی کنید به رجکس‌های پایه مثل “or” مسلط شوید و بعد سراغ بقیه رجکس‌ها بروید و سعی نکنید به یک‌باره از همه رجکس‌ها استفاده کنید.

نکته آخر هم اینکه یاد بگیرید که سوالات خود را در گوگل جستجو کنید. ممکن است اگر هر روز رگولار اکسپرشن‌ها را تکرار نکنید، آن‌ها را فراموش کنید. پس جواب سوالات خود را با جستجو در گوگل پیدا کنید.

جمع‌بندی و نتیجه‌گیری

  • در این مقاله به زبان ساده، regular expressionها را تعریف کردیم.
  • انواع رگولار اکسپرشن‌ها را با مثال‌های متعدد معرفی کردیم، 5 روش موثر برای استفاده از رجکس‌ها را بیان کردیم.
  • همچنین یک جدول کاربردی ارائه دادیم که با یک نگاه، می‌توانید متوجه شوید هر رجکس چه معنی و کاربردی دارد و مثال‌های انطباق و عدم انطباق آن را مشاهده کنید.

شاید در ابتدا، کار با رجکس‌ها کمی دشوار باشد؛ اما با استفاده از جدولی که ارائه کردیم و تمرین و تکرار مستمر به رگولار اکسپرشن‌ها مسلط خواهید شد. حتی اگر فنی نیستید و از برنامه‌نویسی هم چیزی نمی‌دانید، به عنوان یک تحلیل‌گر باید بتوانید از رجکس‌ها به بهترین شکل استفاده کنید.

‌این را هم بدانید که استفاده از رجکس‌ها، یک مهارت معمولی نیست و قطعا همکاران و مدیران خود را با این مهارت، تحت تاثیر قرار خواهید داد. پس تمرین را آغاز کنید تا به یک تحلیل‌گر حرفه‌ای تبدیل شوید😊 ‌