Kareem Hussein https://kareemehussein.com/ Digital Marketing - Paid Search - Search Engine Optimization Fri, 28 Feb 2025 13:12:13 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.1 https://kareemehussein.com/wp-content/uploads/2023/04/cropped-kareem-hussein-website-favicon-black-1-1-32x32.png Kareem Hussein https://kareemehussein.com/ 32 32 FlowNeck Google Shopping Ads: A Case Study in Data-Driven Campaign Optimization https://kareemehussein.com/2025/02/28/flowneck-google-shopping-ads-a-case-study-in-data-driven-campaign-optimization/ https://kareemehussein.com/2025/02/28/flowneck-google-shopping-ads-a-case-study-in-data-driven-campaign-optimization/#respond Fri, 28 Feb 2025 12:52:37 +0000 https://kareemehussein.com/?p=1253 Date Range of Data Optimized: February 22 – March 2 & Mar 3 – Mar 13 Note:In Google Ads a minimum of 30 monthly conversions is necessary to ensure statistically significant insights for informed decision-making in campaigns lacking historical conversion data. Campaign Name: Shopping | Flowneck | Maximize Clicks | US | 2024 Google Shopping […]

The post FlowNeck Google Shopping Ads: A Case Study in Data-Driven Campaign Optimization appeared first on Kareem Hussein.

]]>

Date Range of Data Optimized: February 22 – March 2 & Mar 3 – Mar 13

Note:In Google Ads a minimum of 30 monthly conversions is necessary to ensure statistically significant insights for informed decision-making in campaigns lacking historical conversion data.

Campaign Name: Shopping | Flowneck | Maximize Clicks | US | 2024

Google Shopping Active Campaign Optimization Strategy

Bid Strategy Used: Maximize Clicks

Table of Contents:

  1. Executive Summary (page:1,2)

Complete Tracking Setup Flowchart Diagram

Feb 22 – Mar 2 Campaign Overview/Metrics (Screenshot):

  1. Introduction (page: 2):
  2. Goals and Objectives (page: 2)

   3.1. Goal 1: Refine Audience Insights (page: 2,3)

   3.2. Goal 2: Maximize High-Value Demographics (page: 3)

   3.3. Goal 3: Optimize PLA Click-Through Rates (page: 3,4)

   3.4. Goal 4: Improve PLA Traffic Quality (page: 4,5)

Negative Keyword list: Feb 22 – Mar 2 (page: 5)

  1. A/B split test (Product Title – Conducted Mar 2)
  2. Campaign Optimization Results (Mar 3 – Mar 13)
  1. Executive Summary:

This document outlines a strategic framework for the launch of our Google Shopping campaign targeting neck fan Product Listing Ads in the US market. Our strategy is tailored to refine ad targeting, enhance user engagement, and improve overall campaign performance, with an emphasis on the following key metrics:

  • Audience Engagement Rates
  • Click-Through Rates (CTR)
  • Avg Cost Per Click (CPC)
  • Cost

By focusing on detailed audience insights, product data optimization, and strategic keyword management, we aim to establish a solid foundation for our campaign. Our goal is to drive relevant traffic efficiently, setting the stage for scalable growth and long-term ROAS improvement.

  1. Introduction:

In this section, we will provide an overview of the current market landscape for neck fans in the US, the potential for growth within the Google Shopping platform, and the importance of a data-driven optimization strategy for new campaign launches.

  1. Goals and Objectives:

This section will delve into the specific goals we have set to guide our optimization efforts:

   – 3.1. Goal 1: We will discuss our approach to collecting and analyzing audience data to improve targeting and thereby user engagement and ad relevance.

Approach: We will leverage pre-selected audience segments that align with our product, including Fitness, Running, Sports, Home Improvement, and Outdoor Recreation enthusiasts, by monitoring them in observation mode. Analyzing their interaction data will inform the tailoring of our ads to better match their interests, leading to more relevant ad content and higher user engagement. This targeted refinement aims to boost ad performance and engagement rates.

Audience segment report February 15, 2024 – March 3, 2024

Findings: Based on our segmented audience report, we can clearly see our affinity market audiences out-performing the observed in-market audiences. Based on our report the “Sports and Fitness (Affinity Market) seems to be receiving the most impressions.

Strategy: For our next iteration we can optimize and further segment the broad “Sports and Fitness (Affinity Market) and include and set to observation mode audiences within that category, ex yoga enthusiasts, marathon runners, bodybuilders, to really drill down and see which audience best resonates with our product.

 

   – 3.2. Goal 2: We will outline the methods we will use to identify demographics with the highest conversion potential.

Approach: We will discuss the criteria for pinpointing demographic segments that are most likely to convert and how we will tailor our campaign to resonate with these groups.

Findings: Since this is a new campaign in Google Ads, demographic data will not be immediately available because the campaign has not yet accumulated enough data to provide meaningful insights. We will check back in the next campaign optimization timeline.

   – 3.3. Goal 3: We will describe the tactics for increasing PLA visibility and CTR, focusing on strategic product data presentation.

Approach: We will provide specific examples of how we will enhance product titles, descriptions, and images to improve visibility and relevance in search results.

Findings: Based on our search term reports, we can see that our top performing user searches are also highly relevant to our product. 

Strategy: Based on our search term report our aim is to include performing user searches into our product title and description to increase relevance and click through rate. In this example, we included the keyword/product attribute “bladeless” into our product title to observe performance for our next iteration.

 – 3.4. Goal 4: We will explain the process for streamlining traffic quality by removing ineffective keywords ie (Negative keywords) from our campaigns/ad group level.

 

Approach: We will outline our approach to keyword analysis, including the identification and exclusion of negative keywords to refine traffic and improve campaign performance. Let’s begin by going to insights & reports > Search terms.




Findings: The main search terms which caught my eye can be categorized into 3 parts:


Branded Search Terms: Excluding Branded Search keywords in my case can increase relevance and based on my goal I’m only targeting generic searches. Ex: in our ad group level we added “amazon” etc as a negative keyword, therefore by using phrase match it will prevent your ads from showing for any search query that includes the exact phrase “Amazon,” regardless of what comes before or after it.

  • Informational Keywords: Excluding informational searches in my case can increase relevance and reduce irrelevant clicks, thereby saving on cost per click, from users who aren’t likely to buy and are up the funnel. We are targeting users which are already down the funnel and have high intent to purchase. We kept showing up for “neck fan near me” or “do neck fans work”.  Ex: in our ad group level we added “near me” as a negative phrase match keyword therefore by using phrase match it will prevent your ads from showing for any search query that includes the exact phrase “near me” regardless of what comes before or after it.
  1. Language (not aligned with goals – English) keywords: I noticed I was showing up for “latin” searches in my search term report. Based on google shopping location Targeting: 

The physical location of the user plays a role. If your campaign targets a specific geographic area and a user within that area searches for a product you offer, your ad may appear regardless of the language of the search.

Feb 22 – Mar 2:

Negative Keyword List

Refining and targeting traffic to our offer or product is a routine task, which helps us deliver relevant ads to relevant searchers, and in turn improving performance of our campaign.

  1. A/B split test (Product Title – Conducted Mar 3)

Goal: Increase CTR of the PLA 

In this A/B test we will be changing one element, which is the title of the product description, and evaluate engagement performance metrics to see if there are any improvements.

Date A/B Test was Implemented: 03/03/2024

Metrics Observed:

Primary KPI: CTR

Secondary KPI: Avg CPC

Testing Time Frame: 10 day comparison (feb 22 – mar 2) vs (mar 3 – mar 13)

Variable A element: Product title: “FlowNeck Pro: The Ultimate Neck Fan for Portable Cooling Relief”

Variable B element: Product title: “FlowNeck Pro’s silent, bladeless neck fan. Eco-friendly material, flexible design, 3-speed settings”

Variable A Overview Dashboard Metrics (feb 22 – mar 2):

results:

CTR: 1.52%

Avg CPC: $4.55

Variable B Overview Dashboard Metrics (mar 3 – mar 13) results:

Implementation results:

Recap: By changing the product title for our product listing ad, we can see a few changes.

  • Traffic (clicks) increased by 1391.67%.
  • Avg cpc decreased by $3.37
  • CTR has also decreased by 61.84%

Conclusion: Although our ctr has performed poorly we have seen a highly effective avg cpc decrease due to strategic keyword insertion within the title from our a/b test result. The increase in clicks ie. traffic increase has also been a good indicator that our a/b test (change in title) was highly successful. 

Areas to work on: CTR: By continuous refinement of our keywords we can thereby increase highly qualified traffic which will be relevant to our searchers needs. We also can implement a higher quality image for our PLA to increase CTR.

The post FlowNeck Google Shopping Ads: A Case Study in Data-Driven Campaign Optimization appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2025/02/28/flowneck-google-shopping-ads-a-case-study-in-data-driven-campaign-optimization/feed/ 0
🖥️ Active Directory Account Lockout Policy Implementation & Help Desk Ticketing System Integration via Group Policy (GPO) on Azure VMs (DC-1, Client-1, osTicket-VM) https://kareemehussein.com/2025/02/09/%f0%9f%96%a5%ef%b8%8f-active-directory-account-lockout-policy-implementation-help-desk-ticketing-system-integration-via-group-policy-gpo-on-azure-vms-dc-1-client-1-osticket-vm/ https://kareemehussein.com/2025/02/09/%f0%9f%96%a5%ef%b8%8f-active-directory-account-lockout-policy-implementation-help-desk-ticketing-system-integration-via-group-policy-gpo-on-azure-vms-dc-1-client-1-osticket-vm/#respond Sun, 09 Feb 2025 10:34:57 +0000 https://kareemehussein.com/?p=1157 📌 Project Overview This project simulates an enterprise-level IT security and help desk management workflow by implementing an Active Directory (AD) account lockout policy using Group Policy (GPO) on Azure VMs and integrating it with an osTicket-based IT support system. The setup consists of:✅ An Active Directory domain environment (DC-1 & Client-1) on Azure VMs.✅ […]

The post 🖥️ Active Directory Account Lockout Policy Implementation & Help Desk Ticketing System Integration via Group Policy (GPO) on Azure VMs (DC-1, Client-1, osTicket-VM) appeared first on Kareem Hussein.

]]>

📌 Project Overview

This project simulates an enterprise-level IT security and help desk management workflow by implementing an Active Directory (AD) account lockout policy using Group Policy (GPO) on Azure VMs and integrating it with an osTicket-based IT support system.

The setup consists of:
✅ An Active Directory domain environment (DC-1 & Client-1) on Azure VMs.
✅ A Group Policy Object (GPO) enforcing account lockout after multiple failed login attempts.
✅ A separate osTicket help desk system (osticket-vm) for managing user support requests.

The workflow follows best practices in IT security and user support, ensuring that:
1⃣ A user exceeds the failed login attempt limit and gets locked out.
2⃣ They submit a help desk ticket via osTicket requesting account access.
3⃣ An IT administrator verifies, unlocks the account, and resets the password securely.

This project demonstrates a structured IT workflow, combining Active Directory security policies with a help desk ticketing system, mirroring real-world enterprise IT operations.

🏗 Key Components of the Project

🎯 Project Goal

This project highlights critical IT administration and security best practices, including:
✅ Implementing a GPO-based account lockout policy to prevent brute-force attacks.
✅ Managing locked accounts and password resets in an Active Directory environment.
✅ Simulating an IT help desk workflow using osTicket for structured support requests.
✅ Ensuring secure authentication and IT support operations via network segmentation.

🛠 Tools & Technologies Used

🔹 ☁ Microsoft Azure – Hosts the virtual machines and network infrastructure.
🔹 💻 Azure Virtual Machines (VMs) – Simulates enterprise IT environments.
🔹 📂 Active Directory Domain Services (AD DS) – Manages users, authentication, and security policies.
🔹 🛡 Group Policy Management Console (GPMC) – Enforces security settings via GPO.
🔹 🌐 Virtual Network (VNet) Segmentation – Isolates authentication and IT support functions.
🔹 🎫 osTicket Help Desk System – Provides structured IT support ticketing.
🔹 🔗 Remote Desktop Connection (RDC) using RDP – Enables secure VM access.
🔹 ⚙ Windows PowerShell & Command Prompt – Used for administrative configurations.

🔹 Azure Virtual Machines & Network Segmentation

This project deploys a secure, enterprise IT environment in Azure, featuring two distinct Virtual Networks (VNets) to separate authentication services (Active Directory) from IT support operations (osTicket).

🔹 VNet 1: Active Directory Domain Network

This private network contains the Active Directory domain infrastructure:

1⃣ DC-1 (Windows Server – Domain Controller)

  • Hosts Active Directory Domain Services (AD DS).
  • Manages user authentication, security policies, and account lockout settings.
  • Acts as the primary DNS server for domain-joined machines.

2⃣ Client-1 (Windows 10 Workstation – Domain-Joined Client)

  • Manually joined to DC-1 via custom DNS configuration.
  • Simulates a domain user attempting to log in, getting locked out, and requesting support.
  • Communicates with DC-1 for authentication and security enforcement.

🔹 VNet 2: Help Desk Network (osTicket System)

This isolated network contains the help desk infrastructure:

3⃣ osTicket-VM (Windows 10 – osTicket Help Desk System)

  • Hosts the osTicket help desk software.
  • Exists outside the Active Directory domain for security isolation.
  • Provides an IT support portal for password reset requests.
  • Uses public DNS for external web connectivity.
  • .

🔹 Configuring Account Lockout Policies with Group Policy (GPO)

Before handling password resets, the IT administrator must enforce an account lockout policy to protect the domain from unauthorized access and brute-force attacks.

✅ Steps to Implement the Account Lockout Policy

1⃣ Open Group Policy Management Console (GPMC) on DC-1 (gpmc.msc).
2⃣ Create a new GPO named "Account Lockout Policy".
3⃣ Navigate to:

Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies > Account Lockout Policy

4⃣ Modify Account Lockout Threshold:

  • Set 5 failed attempts before an account is locked.

✅ Step 2: Apply & Update Group Policy on client-1

1⃣ Log into client-1 as mydomain.com\jane_admin via RDP.
2⃣ Open Windows Powershell and run:

powershell cmd: gpupdate /force
 

This forces client-1 to apply the newly created Account Lockout Policy from DC-1.

Verify the policy update in client-1: Win+r > type in cmd > type in gpresult /r > policy update is verified

🔹 Step 3: Simulating an Account Lockout

1⃣ User carin.mev attempts to log in on client-1.
2⃣ Enters an incorrect password 5 times.
3⃣ Active Directory automatically locks the account.
4⃣ User is unable to log in and contacts IT support via osTicket.

🔹 Step 4: User Submits a Password Reset Request in osTicket

📌 User (carin.mev) logs into osTicket on osticket-vm and submits a request for IT assistance:

Subject: 🚨 Account Locked – Need Immediate Assistance
Message:

“Hello IT Team, I attempted to log into my account (mydomain.com\carin.mev) and after multiple failed attempts, I am now locked out. Could you please unlock my account and reset my password? Thank you.”

✅ Ticket is submitted and assigned to the IT Help Desk.

🔹 Step 5: IT Support Resolves the Ticket in osTicket & Unlocks the Account

1⃣ IT Support Agent Assigned to the ticket (Kareem Hussein) logs into osTicket on osticket-vm.
2⃣ Finds the ticket submitted by carin.mev and updates the status to “In Progress.”

3⃣ Logs into DC-1 via RDP to unlock the account and reset the password.
4⃣ Opens Active Directory Users and Computers (ADUC) (dsa.msc).
5⃣ Navigates to:    mydomain.com > _EMPLOYEES > carin.mev

6⃣ Right-clicks carin.mev → Selects Reset Password.
7⃣ Performs both actions at the same time:

  • New password: TempPass123!
  • Checks “Unlock Account”.
  • Checks “User must change password at next logon” for security.
  • Clicks Apply & OK.
    8⃣ Updates the osTicket ticket:

📌 IT Support Response to carin.mev:

“Hello Carin, your account has been unlocked, and your password has been reset to a temporary password: TempPass123!.
You will be prompted to change your password upon logging in. Please try logging in again and let us know if you need further assistance. Ticket marked as resolved. Thank you!”

✅ Ticket is marked as “Resolved” in osTicket.

🔹 Step 6: User Logs In with the New Password

1⃣ User logs into client-1 with:

mydomain.com\carin.mev

Password: TempPass123!

2⃣ Prompted to change password immediately.
3⃣ Successfully logs into the Active Directory domain with carin.mev User Account.

🎯 Final Results & Takeaways

✅ Enterprise-Level Account Lockout Security – Enforced GPO-based lockout policies.
✅ osTicket Help Desk Integration – Managed locked accounts & password resets securely.
✅ Simulated IT Support Communication – Demonstrated real-world ticket handling workflows.
✅ Account Lockout Security Measures – Prevented brute-force attacks.

🚀 Future Enhancements:
🔹 Implement Multi-Factor Authentication (MFA) for better security.
🔹 Automate password reset workflows using PowerShell.
🔹 Deploy Group Policy Objects (GPOs) for advanced security enforcement.

This project demonstrates enterprise IT skills in Active Directory administration, security enforcement, and IT support workflows using GPOs and osTicket Help Desk Systems.

The post 🖥️ Active Directory Account Lockout Policy Implementation & Help Desk Ticketing System Integration via Group Policy (GPO) on Azure VMs (DC-1, Client-1, osTicket-VM) appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2025/02/09/%f0%9f%96%a5%ef%b8%8f-active-directory-account-lockout-policy-implementation-help-desk-ticketing-system-integration-via-group-policy-gpo-on-azure-vms-dc-1-client-1-osticket-vm/feed/ 0
Deploying an Active Directory Domain: Configuring a Windows Server Domain Controller and Client Integration on Azure Virtual Machines https://kareemehussein.com/2025/02/01/deploying-an-active-directory-domain-configuring-a-windows-server-domain-controller-and-client-integration-on-azure-virtual-machines/ https://kareemehussein.com/2025/02/01/deploying-an-active-directory-domain-configuring-a-windows-server-domain-controller-and-client-integration-on-azure-virtual-machines/#respond Sat, 01 Feb 2025 03:22:45 +0000 https://kareemehussein.com/?p=1009 📌 Project Overview 🖥️ Deploying an Active Directory Domain: Configuring a Windows Server Domain Controller and Client Integration on Azure Virtual Machines This project demonstrates the setup and configuration of an Active Directory (AD) domain environment using Microsoft Azure Virtual Machines (VMs) to simulate a real-world enterprise IT infrastructure. The goal is to showcase how […]

The post Deploying an Active Directory Domain: Configuring a Windows Server Domain Controller and Client Integration on Azure Virtual Machines appeared first on Kareem Hussein.

]]>

📌 Project Overview

🖥 Deploying an Active Directory Domain: Configuring a Windows Server Domain Controller and Client Integration on Azure Virtual Machines

This project demonstrates the setup and configuration of an Active Directory (AD) domain environment using Microsoft Azure Virtual Machines (VMs) to simulate a real-world enterprise IT infrastructure. The goal is to showcase how a Windows Server Domain Controller (DC) is deployed and configured to manage users, groups, and policies, while a Windows 10 Client VM is joined to the domain for centralized authentication and resource access.


🏗 Key Components of the Project:

🔹 ☁ Azure Virtual Machines (VMs) Setup – Deploy and configure two VMs:

  • 🖥 VM 1 (Server – Domain Controller): Hosts Active Directory Domain Services (AD DS), manages authentication, enforces Group Policies, and provides network services.
  • 💻 VM 2 (Client – Workstation): Joins the domain, authenticates against AD, and accesses shared company resources.

🔹 📂 Active Directory & Domain Services (AD DS) Configuration

  • 👤 Create and Manage Users & Groups within Active Directory.
  • 🔒 Enforce Security Policies using Group Policy Objects (GPOs).
  • 🏢 Centralized Authentication & Access Control to streamline user management.

🔹 🌐 Custom Network Configuration & DNS Setup

  • 🛠 Manually Assign DNS Settings: Configure the client VM to use the domain controller’s IP as its DNS server for proper domain resolution.
  • 🏠 Domain Name System (DNS) Configuration: Ensure smooth communication between the client and the server.
  • 🔄 Domain Joining Process: Connect the client VM to the Active Directory domain and validate authentication.

🔹 🔗 Remote Management & Access

  • 🖥 Use Remote Desktop Connection (RDP) to manage both VMs from a single interface.
  • ✅ Verify Client Domain Connectivity: Test user authentication and ensure proper domain access.

🎯 Project Goal

This project demonstrates core IT administration skills, including Active Directory setup, domain joining, group policy configuration, and network management within an Azure cloud environment. It serves as a foundation for understanding enterprise IT infrastructure, making it highly relevant for IT professionals working in systems administration, help desk, and network management. 🚀


🛠 Tools & Technologies Used

🔹 ☁ Microsoft Azure

  • Hosts the virtual machines (VMs) and network infrastructure.

🔹 💻 Azure Virtual Machines (VMs)

  • 🖥 VM 1 (Windows Server – Domain Controller): Runs Active Directory Domain Services (AD DS) to manage users and policies.
  • 💻 VM 2 (Windows 10 Client): Simulates an end-user workstation that joins the domain.

🔹 📂 Active Directory Domain Services (AD DS)

  • Manages users, groups, and authentication within the network.

🔹 🌐 Domain Name System (DNS) Configuration

  • Ensures proper name resolution and domain connectivity.

🔹 🔒 Group Policy Objects (GPOs)

  • Enforces security policies and user access controls.

🔹 🔗 Remote Desktop Connection (RDC) using RDP Protocol

  • Provides secure remote access to manage VMs.

🔹 ⚙ Windows PowerShell & Command Prompt

  • Used for Active Directory administration, domain joining, and network configurations.

🛠 Step 1: Create a Resource Group in Azure

📌 Purpose: The resource group acts as a container for all related resources in this project, ensuring organization and simplified management. This will house the two Virtual Machines (VMs), Virtual Network (VNet), and other necessary components.


✅ Step-by-Step Instructions

🔹 1⃣ Sign in to Azure Portal

  • 🌐 Navigate to Azure Portal
  • 🔑 Log in using your Microsoft Azure account

🔹 2⃣ Navigate to Resource Groups

  • 🔍 In the search bar, type “Resource Groups” and select it.
  • ➕ Click “Create” to set up a new resource group.

🔹 3⃣ Configure the Resource Group

  • 📌 Subscription → Select your Azure Subscription
  • 📂 Resource Group Name → Enter Active-Directory-Lab
  • 🌍 Region → Select East US 2 (for better performance based on your choice).

🔹 4⃣ Review & Create

  • 🔄 Click “Review + Create” to validate your settings.
  • 🚀 Click “Create” to deploy the resource group.

 


🎯 Outcome:

✅ Active-Directory-Lab resource group is successfully created, serving as the foundation for all Virtual Machines, Networking, and Active Directory components in this project.


 

🏗 Step 2: Create a Virtual Network (VNet) in Azure

Now that we have our Resource Group (Active-Directory-Lab), we will create a Virtual Network (VNet) to allow communication between our Domain Controller (Server VM) and Client (Workstation VM).


✅ Steps to Create the Virtual Network (VNet)

1⃣ Navigate to Virtual Networks in Azure

  • From the Azure Portal, click on the search bar at the top.
  • Type Virtual Network and select Virtual Networks from the results.
  • Click on + Create to begin setting up a new virtual network.

2⃣ Configure the Virtual Network (VNet)

  • Resource Group: Select Active-Directory-Lab (the one we created earlier).
  • Virtual Network Name: Enter Active-Directory-Vnet.
  • Region: Choose East US 2 (same as the resource group).

3⃣ Review & Create

  • Skip the IP Addresses, Security, and Tags tabs for now.
  • Click Review + Create to finalize the VNet.
  • Once validation passes, click Create.

🎯 Why This Step is Important?

🔹 Provides a private network for our Virtual Machines to communicate securely.
🔹 Ensures seamless connectivity between the Domain Controller VM and the Client VM.
🔹 Lays the foundation for setting up Active Directory and domain joining in later steps.


 

🏗 Step 3: Create the Domain Controller (DC-1) Virtual Machine

Now that our Resource Group (Active-Directory-Lab) and Virtual Network (Active-Directory-Vnet) are set up, we will create the Domain Controller Virtual Machine (DC-1), which will run Windows Server 2022 Datacenter. This VM will later host Active Directory Domain Services (AD DS) to manage users, authentication, and policies.


✅ Steps to Create the Domain Controller (DC-1) VM

1⃣ Navigate to Virtual Machines in Azure

  • In the Azure Portal, click the search bar at the top.
  • Type Virtual Machines and select Virtual Machines from the results.
  • Click + Create and select Azure Virtual Machine.

2⃣ Configure the Basics Tab

  • Subscription: Azure subscription 1
  • Resource Group: Active-Directory-Lab
  • Virtual Machine Name: DC-1
  • Region: East US 2
  • Availability Options: Availability Zone
  • Zone: Zone 1
  • Security Type: Trusted launch virtual machines
  • Image: Windows Server 2022 Datacenter: Azure Edition – x64 Gen2
  • VM Size: Standard_D2s_v3 (2 vCPUs, 8GB RAM)
  • Administrator Account:
    • Username: Domainserver
    • Password: Domainserver123
    • Confirm Password: Domainserver123

3⃣ Configure Inbound Port Rules

  • Public Inbound Ports: Allow Selected Ports
  • Selected Inbound Ports: RDP (3389) (For remote access using Remote Desktop Connection – RDP)

4⃣ Licensing (Optional)

  • If you have an existing Windows Server license, check the box for Azure Hybrid Benefit to save costs.

🏗 Step 4: Configure Additional VM Settings for DC-1

Now that we have completed the Basics tab for our Domain Controller VM (DC-1), we will move on to Disks, Networking, and Final Review before deployment.


5⃣ Configure the Disks Tab

  • Leave all settings as default.
  • Click Next: Networking > to proceed.

6⃣ Configure the Networking Tab

In this step, we will associate DC-1 with our previously created Virtual Network (Active-Directory-Vnet) to ensure proper domain communication.

  • Virtual Network: Select Active-Directory-Vnet (this is the virtual network we created earlier).
  • Leave all other networking settings as default.
  • Click Next: Management >

7⃣ Review and Create

Now, we are ready to finalize our Domain Controller VM.

  • Click Review + Create.
  • Wait for validation to pass.
  • Click Create to begin the deployment process.
  • Once deployment is complete, note down the Public and Private IP addresses of the VM for future use.

🎯 Why This Step is Important?

🔹 Disks are left as default to optimize storage and performance.
🔹 Networking is configured to use our custom VNet, ensuring that all domain services operate within a controlled environment.
🔹 Reviewing ensures all configurations are correct before deploying the VM.

🖥 Deploying the Client Virtual Machine (CLIENT-1)

Now that we have our Domain Controller (DC-1) deployed, we will set up a Windows 10 Client VM (CLIENT-1) that will eventually join the Active Directory domain for centralized authentication.


1⃣ Configure the Basics Tab

🔹 Resource Group: Active-Directory-Lab (Same as DC-1)
🔹 Virtual Machine Name: client-1
🔹 Region: (US) East US 2
🔹 Availability Zone: Zone 1
🔹 Security Type: Trusted Launch Virtual Machines
🔹 Image: Windows 10 Pro, version 22H2 - x64 Gen2
🔹 VM Size: Standard_E2s_v3 (2 vCPUs, 16 GiB memory)
🔹 Administrator Credentials:

  • Username: client-1
  • Password: Client123456

🔹 Inbound Port Rules:

  • Allow RDP (3389) for remote access

🔹 Licensing:

  • ✅ Confirm multi-tenant hosting rights for Windows 10/11 compliance

Click Next: Disks >


2⃣ Configure the Disks Tab

🔹 Leave all settings as default.
Click Next: Networking >


3⃣ Configure the Networking Tab

🔹 Virtual Network: Select Active-Directory-Vnet (same VNet as DC-1).
🔹 Leave all other settings as default.
Click Next: Management >


4⃣ Review & Create

🔹 Click Review + Create.
🔹 Wait for validation to pass.
🔹 Click Create to deploy the VM.
🔹 Once deployment is complete, note down the Public and Private IP addresses of CLIENT-1 for future use.


🎯 Why This Step is Important?

✅ The Client VM (CLIENT-1) is needed to test domain authentication and simulate a user logging into a corporate environment.
✅ The Networking setup ensures that both DC-1 and CLIENT-1 are in the same virtual network, enabling Active Directory communication.
✅ RDP is enabled to allow remote access for administration and troubleshooting.


 

🔧 Configuring a Static Private IP for DC-1 & Disabling Firewall for Testing

Now that DC-1 (Domain Controller VM) is created, we need to set its Private IP address to static and disable the Windows Firewall temporarily for testing.


1⃣ Set DC-1’s Private IP to Static

🔹 Why is this necessary?
By default, Azure assigns Dynamic Private IPs to virtual machines. This means that if DC-1 is restarted or another VM is created, the private IP address could change. Since CLIENT-1 will need to manually configure its DNS settings to point to DC-1, a changing IP would cause connection failures when trying to join the domain.

✅ Setting the IP to Static ensures:

  • The DC-1 private IP remains constant, preventing DNS misconfigurations.
  • CLIENT-1 can reliably locate and connect to the domain controller.

🔹 Steps to Configure a Static Private IP:
1⃣ Go to the Azure Portal and navigate to Virtual Machines.
2⃣ Select DC-1Networking → Click on the Network Interface (NIC).
3⃣ Under Settings, click IP Configurations.
4⃣ Click on IP Configuration 1 (or whatever the primary network interface is named).
5⃣ Change Assignment from Dynamic to Static.
6⃣ Click Save to apply the changes.


2⃣ Disable Windows Firewall (Temporarily for Testing)

🔹 Why is this necessary?
The Windows Firewall can block network traffic needed for Active Directory communication and client connections. Since this is a lab environment, we will temporarily disable it for testing to ensure there are no connectivity issues.

🔹 Steps to Disable Windows Firewall:
1⃣ Press Win + R to open the Run Dialog Box.
2⃣ Type wf.msc and press Enter to open Windows Defender Firewall.
3⃣ Click Turn Windows Defender Firewall on or off (on the left sidebar).
4⃣ Under Domain Network, Private Network, and Public Network, select Turn off Windows Defender Firewall.
5⃣ Click OK to apply changes.

🛑 Important Note:
✅ This is only for testing connectivity—re-enable it later and configure proper firewall rules as needed.


🎯 Why This Step is Important?

✅ Ensures DNS resolution for CLIENT-1 by maintaining a fixed IP address for DC-1.
✅ Prevents network disruptions if DC-1 is restarted.
✅ Disabling the firewall temporarily allows unrestricted communication between DC-1 and CLIENT-1 for domain joining and authentication tests.


🔗 Joining CLIENT-1 to the Domain: Configuring DNS & Verifying Connectivity

Now that DC-1 has a static private IP address (10.0.0.4), we need to configure CLIENT-1 to point to DC-1’s IP as its DNS server. This is crucial because Active Directory requires proper DNS resolution for the domain-joining process to work.


1⃣ Configure CLIENT-1’s DNS Settings

🔹 Why is this necessary?
By default, Azure assigns a Dynamic DNS to virtual machines. Since CLIENT-1 needs to locate DC-1 to join the domain, we must manually set its DNS to DC-1’s Private IP (10.0.0.4).

🔹 Steps to Configure DNS on CLIENT-1:
1⃣ Go to the Azure Portal → Navigate to Virtual Machines.
2⃣ Select CLIENT-1Networking → Click on the Network Interface (NIC).
3⃣ Under Settings, click DNS Servers.
4⃣ Change DNS Configuration from Default (Azure-provided) to Custom.
5⃣ In the Primary DNS field, enter 10.0.0.4 (DC-1’s Private IP).
6⃣ Click Save to apply the changes.


2⃣ Restart CLIENT-1 & Verify Connectivity

Now that CLIENT-1 is pointing to DC-1 for DNS resolution, we will restart the VM and perform a connectivity test.

🔹 Steps:
1⃣ From the Azure Portal, select CLIENT-1 → Click Restart.
2⃣ Once restarted, log in to CLIENT-1 using the local administrator account.
3⃣ Open Command Prompt (Win + R → type cmd → press Enter).
4⃣ Ping DC-1’s Private IP Address (10.0.0.4):

ping 10.0.0.4

5⃣ Ensure the ping succeeds (Reply from 10.0.0.4…).
6⃣ Open PowerShell and verify DNS settings by running:

ipconfig /all

7⃣ Look for the DNS Server entry—it should now show 10.0.0.4 (DC-1’s IP).


🎯 Why This Step is Important?

✅ Ensures CLIENT-1 can resolve DC-1 for domain joining.
✅ Verifies network connectivity between CLIENT-1 and DC-1.
✅ Confirms that CLIENT-1 is correctly using DC-1 for DNS resolution.


 

🛠 Step 7: Install & Configure Active Directory Domain Services (AD DS) on DC-1

Now that DC-1 has a static private IP and is accessible via RDP, we will install Active Directory Domain Services (AD DS) and promote DC-1 as a Domain Controller.

🖥 Install Active Directory Domain Services (AD DS)

1⃣ Login to DC-1 using Remote Desktop Connection.

  • Username: Domainserver
  • Password: Domainserver123

2⃣ Open Server Manager (Win + S → Search Server Manager → Open).

3⃣ Click Manage (top-right corner) → Select Add Roles and Features.

4⃣ In the Wizard, Click Next until you reach the Server Roles section.

5⃣ Select ✅ Active Directory Domain Services (AD DS).

  • A pop-up will appear → Click Add Features.

6⃣ Click Next until you reach the Confirmation Page, then click Install.

7⃣ Wait for the installation to complete (Do NOT close the wizard).

🏗 Promote DC-1 as a Domain Controller

1⃣ Once AD DS installation completes, click Promote this server to a domain controller (appears in the wizard).

2⃣ Deployment Configuration:

  • Select Add a new forest.
  • Enter Root domain name: mydomain.com (or any custom domain you prefer).
  • Click Next.

3⃣ Domain Controller Options:

  • ✅ Ensure Domain Name System (DNS) and Global Catalog (GC) are checked.
  • Set Directory Services Restore Mode (DSRM) password (use something secure, but remember it).
  • Click Next.

4⃣ DNS Options: Ignore the warning about delegation and click Next.

5⃣ Additional Options: Verify NetBIOS Name (MYDOMAIN), then click Next.

6⃣ Paths: Leave as default and click Next.

7⃣ Review the configuration, then click Install.

8⃣ DC-1 will restart automatically after installation.

👤 Create a Domain Admin User in Active Directory

Now, we will create a domain administrator account within the _ADMINS Organizational Unit (OU). This user will have Domain Admin privileges to manage the domain.


🛠 Steps to Create a Domain Admin User in Active Directory

1⃣ Open Active Directory Users and Computers (ADUC)

1⃣ Log into DC-1 as mydomain.com\Domainserver.
2⃣ Open Run (Win + R) → Type dsa.msc → Press Enter.
3⃣ Active Directory Users and Computers (ADUC) will open.


2⃣ Create Organizational Units (OUs)

1⃣ In the left panel, expand your domain mydomain.com.
2⃣ Right-click your domain → Select New → Organizational Unit.
3⃣ Name the first OU _EMPLOYEES → Click OK.
4⃣ Repeat the process to create another OU _ADMINS → Click OK.


3⃣ Create a New Admin User (Jane Doe) in _ADMINS OU

1⃣ Navigate to the _ADMINS OU in ADUC.
2⃣ Right-click _ADMINS → Select New → User.
3⃣ Fill in user details:

  • First Name: Jane
  • Last Name: Doe
  • Full Name: Jane Doe
  • User logon name: jane_admin
    4⃣ Click Next.
    5⃣ Set Password: Domainserver123!
    6⃣ Uncheck User must change password at next logon.
    7⃣ Check ✅ Password never expires (optional for labs).
    8⃣ Click Next → Finish.

4⃣ Assign Admin Privileges to Jane Doe

1⃣ Navigate to Active Directory Users and Computers.
2⃣ Find jane_admin under _ADMINS.
3⃣ Right-click jane_admin → Click Properties.
4⃣ Go to the Member Of tab → Click Add….
5⃣ In the “Enter the object names” box, type: Domain Admins
6⃣ Click Check Names → Click OK.
7⃣ Click Apply → OK.


5⃣ Log Out and Log In as the New Admin

1⃣ Close ADUC and log out of DC-1.
2⃣ Log back in using the new admin account:

  • Username: mydomain.com\jane_admin
  • Password: Domainserver123!
    3⃣ From now on, use jane_admin as the admin account. ✅

🎯 Summary

✅ Created Jane Doe under the _ADMINS Organizational Unit.
✅ Assigned jane_admin to the Domain Admins security group.
✅ Logged in as jane_admin for all future administrative tasks.

Got it! We’ll skip the manual DNS configuration for CLIENT-1. Since it’s already within the same Azure Virtual Network (VNet) as DC-1, it should automatically resolve the domain without needing a manual DNS setup.


🛠 Steps to Join CLIENT-1 to the Domain (mydomain.com)

1⃣ Log into CLIENT-1 as the Local Administrator

1⃣ Open Remote Desktop Connection (RDP) and connect to CLIENT-1.
2⃣ Log in using the local admin account:

  • Username: client-1
  • Password: Client123456

2⃣ Join CLIENT-1 to the Domain (mydomain.com)

1⃣ Open Run (Win + R) → Type sysdm.cpl → Press Enter.
2⃣ Click the Computer Name tab → Click Change.
3⃣ Under Member of, select Domain and enter:

  • mydomain.com
    4⃣ Click OK → A login prompt appears.
    5⃣ Enter Domain Admin credentials:
  • Username: mydomain.com\jane_admin
  • Password: Domainserver123
    6⃣ Click OK → If successful, you’ll see a “Welcome to the mydomain.com domain” message.
    7⃣ Click OKRestart CLIENT-1 to apply changes.

3⃣ Verify CLIENT-1 in Active Directory

📌 After rebooting CLIENT-1, verify it appears in Active Directory Users and Computers (ADUC).
1⃣ Log into DC-1 as mydomain.com\jane_admin.
2⃣ Open Run (Win + R) → Type dsa.msc → Press Enter.
3⃣ In the Computers container, look for CLIENT-1.
4⃣ If CLIENT-1 is listed, it has successfully joined the domain. ✅


4⃣ Organize CLIENT-1 in the _CLIENTS Organizational Unit (OU)

📌 Now, we’ll create an Organizational Unit (OU) for domain-joined client devices and move CLIENT-1 into it.
1⃣ In ADUC, right-click the domain (mydomain.com) → Click New → Organizational Unit.
2⃣ Name it _CLIENTS → Click OK.
3⃣ Navigate to the Computers container, find CLIENT-1.
4⃣ Drag CLIENT-1 into the _CLIENTS OU.


🎯 Summary

✅ Successfully joined CLIENT-1 to the Active Directory domain (mydomain.com).
✅ Verified CLIENT-1’s presence in ADUC.
✅ Created _CLIENTS OU and moved CLIENT-1 into it for organization.

🎉 CLIENT-1 is now officially part of the domain!

🖥 Setting Up Remote Desktop for Non-Admin Users on CLIENT-1

📌 By default, only administrators can access a system via Remote Desktop Protocol (RDP). To allow regular domain users to log in remotely, we need to modify Remote Desktop settings.


1⃣ Enable Remote Desktop for Domain Users on CLIENT-1

1⃣ Log into CLIENT-1 as mydomain.com\jane_admin.
2⃣ Open Run (Win + R) → Type sysdm.cpl → Press Enter.
3⃣ Click the Remote tab → Under Remote Desktop, click Select Users.
4⃣ Click Add → Type Domain Users → Click Check Names → Click OK.
5⃣ Apply changes and close System Properties.

✅ Now, any domain user can log into CLIENT-1 via RDP.

📌 Best Practice: Normally, you’d configure this through Group Policy (GPO) for multiple systems at once—this could be a future lab!

👥 Bulk Create Active Directory Users via PowerShell

📌 Instead of manually creating users, we’ll automate user creation using a PowerShell script that generates random names and adds users to the _EMPLOYEES OU.

2⃣ Run PowerShell Script to Generate Users

1⃣ Log into DC-1 as mydomain.com\jane_admin.
2⃣ Open Run (Win + R) → Type powershell_ise → Press Enter.

3⃣ Verify User Accounts in Active Directory (ADUC)

1⃣ Open Active Directory Users and Computers (ADUC) (dsa.msc).
2⃣ Expand the _EMPLOYEES OU.
3⃣ Observe the newly created user accounts.

✅ We now have multiple users in Active Directory!

4⃣ Test Logging into CLIENT-1 with a Newly Created User

📌 Now, let’s simulate an end-user login using one of the newly created accounts.

1⃣ Pick the user Carin Mev from the _EMPLOYEES OU.
2⃣ Note the username & password (from the script output).
3⃣ On CLIENT-1, log out of jane_admin.
4⃣ Use Remote Desktop Connection (RDP) to log in as the new domain user:

  • Username: mydomain.com\carin.mev
  • Password: Password1

✅ Successful login confirms that CLIENT-1 is properly joined to the domain, and Active Directory authentication is working! 🎉

🎯 Conclusion: Deploying an Active Directory Domain on Azure Virtual Machines

This project successfully demonstrated the deployment, configuration, and administration of an Active Directory (AD) environment using Microsoft Azure Virtual Machines (VMs). By implementing Active Directory Domain Services (AD DS), we established centralized authentication, user management, and group policies, simulating a real-world enterprise IT infrastructure.


✅ Key Accomplishments:

🔹 🚀 Azure Virtual Machine Deployment:

  • Provisioned and configured DC-1 (Windows Server 2022) as the Domain Controller.
  • Deployed CLIENT-1 (Windows 10) as a domain-joined workstation.

🔹 🌐 Network & Domain Setup:

  • Configured Azure Virtual Networks (VNet) to ensure seamless communication between VMs.
  • Assigned static private IP to DC-1 for reliable DNS resolution.
  • Verified CLIENT-1 successfully joined the domain (mydomain.com).

🔹 🔐 Active Directory & User Management:

  • Created Organizational Units (OUs) _EMPLOYEES, _ADMINS, and _CLIENTS for structured user and device management.
  • Created domain administrator account (jane_admin) and assigned Domain Admin privileges.
  • Bulk-created multiple domain users using a PowerShell script.

🔹 🖥 Remote Access & Security:

  • Enabled Remote Desktop Protocol (RDP) for non-administrative users to simulate remote workforce scenarios.
  • Verified Active Directory authentication by successfully logging in as a newly created user (carin.mev).

🎯 Final Thoughts & Real-World Applications

This project serves as an excellent foundational exercise for IT professionals looking to strengthen their skills in systems administration, cloud infrastructure, and enterprise network management. The ability to deploy, configure, and manage Active Directory in an Azure environment is highly valuable for roles in:

✅ IT Support & Help Desk – Managing user authentication, domain access, and troubleshooting.
✅ System Administration – Implementing AD, enforcing Group Policies, and securing enterprise environments.
✅ Cloud & Network Engineering – Configuring network settings, virtual machines, and remote access solutions.

🚀 Next Steps: Future enhancements could include:
🔹 Implementing Group Policy Objects (GPOs) for advanced security policies.
🔹 Configuring File Sharing & Network Drives within Active Directory.
🔹 Deploying Multi-Factor Authentication (MFA) & Conditional Access Policies for enhanced security.

The post Deploying an Active Directory Domain: Configuring a Windows Server Domain Controller and Client Integration on Azure Virtual Machines appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2025/02/01/deploying-an-active-directory-domain-configuring-a-windows-server-domain-controller-and-client-integration-on-azure-virtual-machines/feed/ 0
Building a Help Desk Ticketing System from scratch: Integrating osTicket & Microsoft Azure Virtual Machine https://kareemehussein.com/2025/01/24/building-a-help-desk-ticketing-system-integrating-osticket-active-directory-and-custom-web-based-support-forms/ https://kareemehussein.com/2025/01/24/building-a-help-desk-ticketing-system-integrating-osticket-active-directory-and-custom-web-based-support-forms/#respond Fri, 24 Jan 2025 21:57:24 +0000 https://kareemehussein.com/?p=851 Title: Building a Help Desk Ticketing System from scratch: Integrating osTicket & Microsoft Azure Virtual Machine & Remote Desktop Connection This project demonstrates the end-to-end setup and deployment of a help desk ticketing system using osTicket on Microsoft Azure Virtual Machines (VMs). The primary goal is to showcase proficiency in Azure cloud services, including Virtual […]

The post Building a Help Desk Ticketing System from scratch: Integrating osTicket & Microsoft Azure Virtual Machine appeared first on Kareem Hussein.

]]>

Title: Building a Help Desk Ticketing System from scratch: Integrating osTicket & Microsoft Azure Virtual Machine & Remote Desktop Connection

This project demonstrates the end-to-end setup and deployment of a help desk ticketing system using osTicket on Microsoft Azure Virtual Machines (VMs). The primary goal is to showcase proficiency in Azure cloud services, including Virtual Machines, Virtual Networks, Subnets, and Network Security Groups (NSGs) while also demonstrating the installation, configuration, and deployment of a ticketing system.

The project covers:
✔ Azure Virtual Machine Deployment – Setting up and configuring a VM to host osTicket.
✔ Networking in Azure – Configuring Virtual Networks, Subnets, and NSGs for secure access.
✔ Web Server & Database Setup – Installing and configuring IIS, PHP, MySQL, and dependencies.
✔ osTicket Installation & Configuration – Deploying osTicket, setting up email notifications, and managing ticket workflows.

This hands-on project highlights key cloud infrastructure and system administration skills, making it an excellent demonstration of Azure-based server deployment, networking, and IT support solutions.

🎯 Key Learning Objectives & IT Skills Demonstrated

🔹 ☁ Azure Virtual Machine Deployment
✅ Provision & Configure an Azure VM – Deploy a Virtual Machine (VM) in Microsoft Azure to host the osTicket system.
✅ Networking Setup – Configure Virtual Networks (VNet), Subnets, and Network Security Groups (NSGs) to ensure secure access to the help desk system.

🔹 🖥 Web Server & Database Configuration
✅ Install & Configure IIS – Set up Internet Information Services (IIS) as the web server for osTicket.
✅ Deploy PHP & MySQL – Install and configure PHP and MySQL to enable osTicket’s functionality.

🔹 🎫 osTicket Installation & Administration
✅ Deploy osTicket – Install and configure the osTicket help desk ticketing system on the Azure VM.
✅ Perform Administrative Tasks:
👤 Create User Accounts – Define roles and permissions.
🏢 Set Up Departments & Help Topics – Organize ticket workflows efficiently.
✅ Act as a Help Desk Agent:
📌 Create, Manage, and Resolve Tickets – Simulate real-world IT support scenarios.

🔹 📧 Email Integration
✅ Configure Email Notifications – Enable automatic email updates for users when tickets are updated or resolved.

🔹 🔗 Bonus: Web Form Integration with osTicket
✅ Integrate osTicket with a Web Form using:
🖥 osTicket Connector Plugin – Connect WordPress forms to osTicket.
🔗 WordPress & WPForms – Build a custom ticket submission form.
✅ Simulate External Ticket Submissions via API – Allow users to create tickets without direct osTicket access.

This project demonstrates essential cloud infrastructure, system administration, IT support workflows, and help desk ticketing skills, making it an excellent showcase of Azure VM deployment, web hosting, database management, and IT service management (ITSM) best practices. 🚀

Tools and Technologies Used

✔ Microsoft Azure Virtual Machines (VMs)
    🔹 Provides isolated environments for hosting each system (osTicket, Web Server, and Database).

✔ osTicket VM (Help Desk Ticketing System) – Virtual Machine 1
    🔹 Hosts the osTicket system for managing, creating, and resolving tickets.
    🔹 Handles ticket communication and resolution emails.

✔ Azure Networking (Virtual Networks, Subnets, NSGs)
    🔹 Configures secure communication between virtual machines.
    🔹 Defines inbound and outbound traffic rules for security.

✔ Web Server & Database Setup
    🔹 Internet Information Services (IIS) – Web server to host osTicket.
    🔹 PHP & MySQL Database – Required dependencies for osTicket.

✔ Remote Desktop Connection (RDP)
    🔹 A utility that uses the Remote Desktop Protocol (RDP) to establish a secure remote connection to virtual machines.
    🔹 Used to access and manage the virtual machines hosting osTicket and related services.

✔ Email Integration (via osTicket)
    🔹 Sends ticket resolution updates to users automatically.

Bonus: Submitting a Help Desk Support Ticket via a Web Form
✔ WPForms (Paid Version)
    🔹 A WordPress plugin to create and customize web forms.
    🔹 Used for creating the ticket submission form that integrates with osTicket.

✔ osTicket Connector Plugin
    🔹 A WordPress plugin that connects WPForms with osTicket using its API.
    🔹 Used to automatically create tickets in osTicket from submitted web forms.

This project provides a real-world demonstration of deploying a help desk ticketing system in Azure, showcasing VM management, networking, server configuration, and ticket automation in a cloud-based environment.

Project Steps

✔ Step 1: Set Up Virtual Machine 1 to Host osTicket
🔹 Purpose:
Configure the Azure Virtual Machine (VM) to host osTicket, ensuring it functions as a fully operational help desk ticketing system.

✔ Host and Configure osTicket
    🔹 Install and configure osTicket as the primary ticketing system.
    🔹 Set up the web server (IIS), PHP, and MySQL database required for osTicket.

✔ Perform Administrator Tasks
    🔹 Create user accounts, assign roles, and define permissions.
    🔹 Set up departments, teams, and help topics to structure ticket workflows.

✔ Act as a Help Desk Agent
    🔹 Create, manage, and resolve tickets to simulate real-world troubleshooting and IT support tasks.
    🔹 Utilize email notifications for ticket updates.

✔ Bonus: Web Form Integration with osTicket (API-Based Submission)
    🔹 Integrate osTicket with a custom web form using:
         🔹 osTicket Connector Plugin
         🔹 WordPress + WPForms
    🔹 Simulate external ticket submissions via API.
    🔹 This bonus integration will be completed at the end of the project as an extension to the primary osTicket setup.

This step establishes Virtual Machine 1 as the core help desk system, managing ticket workflows and serving as the centralized support portal.

 

Steps: Setting up the Virtual Machine in Microsoft Azure.

1. Create a Microsoft Azure account, log into the Azure portal.

2. Make sure you have a “pay as you go” subscription for the Azure tenant, that way you have access to many Azure services, such as virtual machines.

3. Create a virtual machine:

Note: Make sure you have a resource group created first, which will house our resources, such as the virtual machine.

First go to azure virtual machine service:

Azure Homepage > search bar > type “virtual machine” > click on virtual machine > on the virtual machine page click on the blue button on the middle of the page titled “create” > from the drop down choose the first option “azure virtual machines”

 

Steps: Setting Up the Virtual Machine Settings in Microsoft Azure.

See detailed images attached to this step in the gallery below, images include all settings which are included in the virtual machine set up, after the previous step titled “Setting up the Virtual Machine in Microsoft Azure”.

 

Steps: Login to the Newly created Azure virtual machine with Remote Desktop Protocol.

Within Microsoft Azure in the main search bar type “virtual machine” > click on virtual machine > Under list of virtual machines find the virtual machine which was created that is identified by the virtual machine name in our case “osticket-vm” > click on “osticket-vm” > copy the public ip address, in our case its “52.188.185.240” > open the run dialog box and type windows key + R > type “mstsc” command prompt in the run dialog box to launch remote desktop connection window > paste the virtual machines public ip address in remote desktop connection in the “computer name” box > click connect. Steps: 

Note: See detailed steps in attached images.

 

Steps: Download, Configure and Install OsTicket on Virtual Machine 1:

Download and Extract OsTicket: 

Within osticket-vm > Go to Microsoft Edge Browser > Type in OsTicket download and installation in the search bar > download the OsTicket zip file > or to make things easier download the OsTicket zip file here https://drive.google.com/file/d/1kIrGjZuotWbUDd3vL-PP5SKGB1_4vczs/view?usp=sharing > click download files anyway > the .zip file is automatically saved in the downloads folder > go to the download folder by clicking > file explorer > on the left hand navigation youll see downloads > click downloads > you will see the .zip file named “osTicket-Installation-Files” > drag the zip file to the desktop window > right click on the .zip file and click “extract all” > you should see the extracted folder titled “osTicket-Installation-Files” on the desktop.

Note: See detailed steps in attached images.

 

Steps: Configure and Install OsTicket on virtual machine 1 (Note: While only a few screenshots are provided for this setup, following the steps in order will successfully configure and install osTicket, including the server and database. This setup enables osTicket to run locally, allowing access to both the /scp (admin) and agent portals through the browser on the host device.)

This section provides a step-by-step guide to configure and install osTicket on Virtual Machine 1, including setting up the necessary server, database, and admin portal to run osTicket locally. Follow these steps carefully to successfully complete the setup.

Carefully Follow the steps in this google drive and the steps below aswell: https://docs.google.com/document/d/1VDPVv-lf54M6aCSCTtyxnvPaDg9-rOVUhgCphBGzUeo/edit?usp=sharing

osTicket Installation .zip file: https://drive.google.com/file/d/1kIrGjZuotWbUDd3vL-PP5SKGB1_4vczs/view?usp=sharing


Enable IIS and Install the Web Server

  1. Open Control Panel:
    • Click the Start Menu and search for Control Panel.
    • Open Control Panel > Click on Programs > Select Turn Windows Features On or Off.
  2. Enable Internet Information Services (IIS):
    • In the Windows Features dialog box, locate Internet Information Services.
    • Check the box and expand it.
    • Navigate to World Wide Web Services > Application Development Features > Check CGI.

Install Required Components

  1. Install PHP Manager for IIS:
    • From the “osTicket-Installation-Files” folder, run PHPManagerForIIS_V1.5.0.msi.
  2. Install the Rewrite Module:
    • From the “osTicket-Installation-Files” folder, run rewrite_amd64_en-US.msi.
  3. Set Up PHP:
    • Create the directory C:\PHP.
    • From the “osTicket-Installation-Files” folder, unzip php-7.3.8-nts-Win32-VC15-x86.zip into C:\PHP.
    • Install VC_redist.x86.exe from the same folder.
  4. Install MySQL:
    • Run mysql-5.5.62-win32.msi (Typical Setup).
    • Launch the Configuration Wizard:
      • Select Standard Configuration.
      • Use root for both username and password.
    • MySQL is now installed but not yet configured.

Configure IIS and Register PHP

  1. Open IIS as Administrator:
    • Register PHP with IIS via PHP Manager:
      • Select C:\PHP\php-cgi.exe.
    • Reload IIS by stopping and starting the server.

Install osTicket

  1. Unzip osTicket Files:
    • From the “osTicket-Installation-Files” folder, unzip osTicket-v1.15.8.zip.
    • Copy the upload folder to C:\inetpub\wwwroot and rename it to osTicket.
  2. Reload IIS:
    • Open IIS and restart the server.
  3. Launch osTicket Setup:
    • In IIS, navigate to Sites > Default Web Site > osTicket.
    • On the right, click *Browse :80.
    • Note any missing PHP extensions.

Enable PHP Extensions

  1. In IIS, go to Sites > Default Web Site > osTicket > Double-click PHP Manager.
  2. Enable the following extensions:
    • php_imap.dll
    • php_intl.dll
    • php_opcache.dll
  3. Refresh the osTicket site in the browser to apply changes.

Configure osTicket

  1. Rename the Configuration File:
    • From C:\inetpub\wwwroot\osTicket\include\ost-sampleconfig.php, rename it to ost-config.php.
  2. Set Permissions:
    • Disable inheritance for ost-config.php.
    • Remove all permissions and assign Everyone with Full Control.
  3. Complete Browser Setup:
    • Open the osTicket setup page in the browser.
    • Set the help desk name (e.g., Kareem’s Help Desk) and provide a default email address.

Set Up the Database

  1. Install HeidiSQL:
    • Run the installer from the “osTicket-Installation-Files” folder.
  2. Create the Database:
    • Open HeidiSQL and create a new session using:
      • Username: root
      • Password: root
    • Create a database named osTicket.

Finish osTicket Installation

  1. Complete Database Configuration:
    • In the osTicket browser setup:
      • MySQL Database: osTicket
      • MySQL Username: root
      • MySQL Password: root
    • Click Install Now!
  2. Verify Database Setup:
    • Refresh the database view in HeidiSQL to confirm the osTicket database.

Access osTicket

  1. Admin Portal:
    • Go to http://localhost/osTicket/scp/login.php.
    • Login using the credentials:
      • Username: adminuser
      • Password: Password1.
  2. User Portal:
    • Access the user-facing portal at http://localhost/osTicket/.
  3. Admin Tasks:
    • Assign users, departments, and configure ticket categories.
    • Manage agent roles and permissions.

🔹 Post-Installation Setup: Configuring Users, Roles, and Departments in osTicket

📌 Purpose:
After successfully installing osTicket, we will configure user roles, departments, and permissions to establish a structured help desk workflow. This setup ensures that tickets are efficiently assigned and managed within the system. This section ensures that osTicket is fully functional for a real-world help desk environment. We’ll configure system roles, set up user accounts, and finalize the system to manage tickets, including user login, agent assignment, and email communication.

✅ Tasks to Complete:
✔ Create a System Administrator – Full control over osTicket settings and configurations.
✔ Set Up the IT Department – The main support team responsible for handling tickets.
✔ Assign an Agent (Help Desk Technician) – The individual responsible for responding to and resolving tickets.
✔ Register an End-User (Employee Requesting Support) – The user who will submit requests for IT assistance.

This post-installation configuration ensures a realistic ticketing workflow, allowing you to simulate ticket creation, assignment, and resolution within a structured IT help desk system.

✔ Steps for Post Installation Setup
🔑 Access the Admin Panel of osTicket

Open a web browser and go to:
Admin Login URL: http://localhost/osTicket/scp/login.php
Log in with the admin credentials:
Username: adminuser
Password: Password1
This will take you to the osTicket Admin Panel.

⚙ Set Up System Roles

Navigate to the Admin Panel → Agents → Roles.

Create Roles for each type of user:

System Admin (Supreme Admin): The admin responsible for managing the system, configuring settings, and managing agents. Enable all permissions.

🔹 Configure Departments (Ticket Visibility & Categories)

📌 Location: Admin Panel → Agents → Departments

✔ Help Desk – Handles all IT support requests

🔹 Configure Help Desk Agent (Kareem)
📌 Location: Admin Panel → Agents → Add New

✔ Agent Name: Kareem
✔ Department: Help Desk
✔ Role: Help Desk Agent
✔ Permissions:

Tickets
Assign ✅
Close ✅
Create ✅
Delete ❌
Edit ✅
Edit Thread ✅
Link ✅
Mark as Answered ✅
Merge ✅
Post Reply ✅
Refer ✅
Release ✅
Transfer ✅
Tasks
Assign ✅
Close ✅
Create ✅
Delete ❌
Edit ✅
Post Reply ✅
Transfer ✅

🔹 Configure User (Alex – End User Submitting Tickets)
📌 Location: Agent Panel → Users → Add New

✔ User Name: Alex
✔ Email: info@wellnessdepotusa.com
✔ Department Access: Help Desk (Can submit tickets to the Help Desk client/user login)

Register User Alex:

Agent Panel > User Directory > Click on Alex > Click Register User > Create Password for user to login.

🔹 Allow Ticket Creation Rules
📌 Location: Admin Panel → Settings → User Settings

✅ Registration Required – Only registered users can submit tickets
❌ Unregistered users cannot create tickets

🔹 Configure SLA Policies (Ticket Resolution Deadlines)
📌 Location: Admin Panel → Manage → SLA

✔ Standard Support: Resolution within 8 hours (Business Hours)

✅ osTicket is now configured with one admin, one department, one help desk agent, and one end user.
🎯 Next Steps: Begin testing ticket creation and resolution workflows! 🚀

🎯 Conclusion: Deploying a Help Desk Ticketing System with osTicket on Azure Virtual Machines

This project successfully demonstrates the end-to-end deployment and configuration of a help desk ticketing system using osTicket on Microsoft Azure Virtual Machines (VMs). By setting up cloud-based infrastructure, configuring network security and access control, and deploying a fully functional ticketing system, this project highlights key IT service management (ITSM) and cloud administration skills.


✅ Key Accomplishments:

🔹 ☁ Azure Virtual Machine Deployment:

  • Provisioned an Azure Virtual Machine (VM) to host osTicket.
  • Configured Virtual Networks (VNet), Subnets, and Network Security Groups (NSGs) to secure system access.

🔹 🖥 Web Server & Database Setup:

  • Installed and configured Internet Information Services (IIS) as the web server.
  • Set up PHP & MySQL Database to support osTicket functionality.

🔹 🎫 osTicket Installation & Configuration:

  • Successfully deployed and configured the osTicket help desk system.
  • Configured help topics, departments, and user roles to structure ticket management workflows.

🔹 📧 Email Integration & Automated Ticket Updates:

  • Enabled email notifications to update users when tickets are created, assigned, and resolved.

🔹 🔗 Bonus: Web Form Integration with osTicket:

  • Integrated osTicket with WordPress using WPForms and the osTicket Connector Plugin.
  • Enabled API-based ticket submission via a custom web form.

🎯 Final Thoughts & Real-World Applications

This project serves as an excellent demonstration of IT help desk operations, cloud infrastructure, and ticketing system management. The Azure-based deployment of osTicket mirrors real-world enterprise IT environments, making this project highly relevant for IT professionals in system administration, help desk support, and cloud computing.

✅ IT Support & Help Desk – Managing tickets, responding to user requests, and automating help desk workflows.
✅ Cloud & System Administration – Deploying cloud-based infrastructure and ensuring secure access to IT services.
✅ Web & Database Management – Configuring web servers, managing databases, and integrating external ticket submission systems.

🚀 Next Steps: Future enhancements could include:
🔹 Implementing Single Sign-On (SSO) for improved security and user authentication.
🔹 Automating Ticket Assignment & Escalation using predefined business rules.
🔹 Enhancing Reporting & Analytics to track help desk performance metrics.

The post Building a Help Desk Ticketing System from scratch: Integrating osTicket & Microsoft Azure Virtual Machine appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2025/01/24/building-a-help-desk-ticketing-system-integrating-osticket-active-directory-and-custom-web-based-support-forms/feed/ 0
Skillbank: High-Converting Landing Page & Sales Funnel Optimization https://kareemehussein.com/2024/12/31/skillbank-high-converting-landing-page-sales-funnel-optimization/ https://kareemehussein.com/2024/12/31/skillbank-high-converting-landing-page-sales-funnel-optimization/#respond Tue, 31 Dec 2024 03:56:11 +0000 https://kareemehussein.com/?p=767 Skillbank: High-Converting Landing Page & Sales Funnel Optimization

The post Skillbank: High-Converting Landing Page & Sales Funnel Optimization appeared first on Kareem Hussein.

]]>

Skillbank is a career accelerator program designed to help individuals land jobs in growth marketing by providing hands-on training, mentorship, and job placement assistance. This project evaluates Skillbank’s sales funnel using the AIDA framework (Awareness, Interest, Desire, and Action) to analyze how effectively the website and marketing strategies move prospects through the funnel and convert them into paying customers.

The analysis reviews each stage of the funnel:

  1. Top of Funnel (TOFU): Awareness – How Skillbank introduces its services and grabs attention.
  2. Middle of Funnel (MOFU): Interest – How Skillbank builds relevance and keeps users engaged.
  3. Bottom of Funnel (BOFU): Desire and Action – How Skillbank builds trust, addresses objections, and pushes users toward conversion.
  4. Retention Strategies – How Skillbank keeps users engaged post-conversion through email marketing, mentorship programs, and continued support.

Key areas of focus include Skillbank’s messaging, social proof, calls-to-action (CTAs), and user experience to uncover strengths and identify opportunities for improvement.

Key Takeaways
  1. Top of Funnel (TOFU): Awareness

    • Skillbank’s hero section on the homepage effectively captures attention with a clear value proposition and a strong call-to-action (CTA) focused on getting hired.
    • Discounts and free trials are prominently displayed, increasing conversion potential by lowering the barrier to entry.
    • Recommendations: Optimize headline variations and test different offers (e.g., free consultations) to drive higher click-through rates.
  2. Middle of Funnel (MOFU): Interest

    • Skillbank establishes relevance by displaying agency partnerships and testimonials that provide social proof and build trust.
    • Additional features, such as mentorship programs and self-paced learning, address common pain points (e.g., lack of time).
    • Recommendations: Introduce an email capture pop-up at this stage to nurture prospects who aren’t ready to buy immediately.
  3. Bottom of Funnel (BOFU): Desire and Action

    • The testimonial section builds emotional connections through real-world success stories, reinforcing trust in the program.
    • Offering a free trial allows prospects to experience the service without commitment, reducing perceived risk.
    • Recommendations: Add video testimonials to make success stories more impactful and relatable, and test stronger CTAs such as “Start Your Free Trial Today!”
  4. Retention Strategies:

    • Skillbank uses email marketing campaigns and customer communication calendars with mentors to keep users engaged post-conversion.
    • Recommendations: Develop a referral program or exclusive alumni groups to promote long-term loyalty and increase word-of-mouth marketing.

Conclusion:

This project highlights Skillbank’s ability to attract, engage, and convert prospects through a well-structured sales funnel built around the AIDA framework. With clear CTAs, social proof, and mentorship programs, Skillbank effectively addresses user pain points and builds trust.

However, implementing A/B testing for CTAs, adding video testimonials, and expanding email capture strategies can further optimize performance and increase conversions.

For the full analysis and visual breakdown of Skillbank’s sales funnel, view the project images included in this presentation.

Project Images

The post Skillbank: High-Converting Landing Page & Sales Funnel Optimization appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2024/12/31/skillbank-high-converting-landing-page-sales-funnel-optimization/feed/ 0
Google Analytics – Data Studio Report https://kareemehussein.com/2023/04/11/google-analytics-data-studio-report/ https://kareemehussein.com/2023/04/11/google-analytics-data-studio-report/#respond Tue, 11 Apr 2023 03:37:31 +0000 https://kareemehussein.com/?p=448 Data Studio Report for my blog Hikingbetter.com

The post Google Analytics – Data Studio Report appeared first on Kareem Hussein.

]]>
Key takeaways
Project Images

The post Google Analytics – Data Studio Report appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2023/04/11/google-analytics-data-studio-report/feed/ 0
Google Ads Campaign Structure Demonstration https://kareemehussein.com/2023/04/11/google-ads-campaign-structure-demonstration/ https://kareemehussein.com/2023/04/11/google-ads-campaign-structure-demonstration/#respond Tue, 11 Apr 2023 01:59:30 +0000 https://kareemehussein.com/?p=430 Wild Wheat Bakery - Google Search Ads Account Structure

The post Google Ads Campaign Structure Demonstration appeared first on Kareem Hussein.

]]>

The project is designed to help Wild Wheat Bakery create a high-performing Google Ads campaign that targets the right audience and drives traffic to its website. By using a structured account setup and proven PPC strategies, Wild Wheat Bakery can maximize its online presence and scale its business effectively.

We’ll begin with detailed keyword research to identify high-intent and relevant keywords for Wild Wheat Bakery. Using this data, we’ll organize tightly themed ad groups that align with specific search intents and write compelling ad copy optimized for performance. Our team will also design conversion-focused landing pages that provide a seamless user experience and support higher engagement rates.

Throughout the project, we’ll leverage Google Ads tools and features to monitor performance and continuously optimize the campaign. This includes strategic use of negative keywords (as outlined in the spreadsheet) to filter out irrelevant searches and smart bidding strategies to control costs while maximizing conversions. The project will also explore budgeting techniques, audience targeting, and performance tracking using data analytics to refine the campaign over time.

By the end of the project, Wild Wheat Bakery will have a clear framework for building and managing effective Google Ads campaigns. This structure will help the bakery reach its target audience, increase conversions, and sustain long-term growth.

For an in-depth breakdown of the campaign strategy, including keyword lists, ad groups, and ad copy, please see the project images and the Google Ads account structure spreadsheet linked below:
Spreadsheet Link

 

Key Takeaways
  • Campaign Organization Drives Performance: A well-structured Google Ads account—complete with organized ad groups and responsive ad copy—ensures higher relevance, better Quality Scores, and improved ROI.
  • Keyword Selection is Key: High-performing keywords (as outlined in the spreadsheet) connect Wild Wheat Bakery to ready-to-buy customers. Negative keywords further refine targeting to reduce wasted spend.
  • Responsive Ads Improve Engagement: Dynamic ad formats tested in the campaign boost click-through rates by matching searcher intent with flexible ad variations.
  • Landing Pages Convert Clicks into Sales: Optimized landing pages aligned with ads provide a cohesive experience that increases conversion rates.
  • Data and Analytics Drive Optimization: Ongoing performance tracking and refinements based on data ensure that the campaign scales effectively and delivers long-term value.

 

By the end of the project, you’ll have the skills and strategies to create, manage, and scale Google Ads campaigns that maximize ROI and support Wild Wheat Bakery’s growth.

Project Images

The post Google Ads Campaign Structure Demonstration appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2023/04/11/google-ads-campaign-structure-demonstration/feed/ 0
SEO Demonstration – Olympic Hiking Co https://kareemehussein.com/2023/04/10/seo-demonstration-olympic-hiking-co/ https://kareemehussein.com/2023/04/10/seo-demonstration-olympic-hiking-co/#respond Mon, 10 Apr 2023 07:41:14 +0000 https://kareemehussein.com/?p=368 A complete On-Page SEO Audit

The post SEO Demonstration – Olympic Hiking Co appeared first on Kareem Hussein.

]]>

Olympic Hiking Co is a leading outdoor adventure company that offers guided hiking tours in the Olympic National Park. The objective of this project is to conduct an Onpage SEO audit of their website to identify areas of improvement and provide recommendations for optimizing their website’s search engine visibility and ranking.

The audit will include a review of Olympic Hiking Co’s website architecture, content, metadata, internal linking, and technical SEO factors such as site speed and mobile responsiveness. The audit will also include a competitor analysis to identify areas where Olympic Hiking Co can differentiate themselves and gain a competitive advantage.

The recommendations provided will be tailored to Olympic Hiking Co’s marketing goals and objectives, and will be practical and effective for their specific target audience and industry. The project will be conducted in several stages, including data collection and analysis, competitor research, and optimization recommendations.

Our team will work closely with Olympic Hiking Co to ensure that our recommendations align with their brand and marketing goals, and that our strategies are practical and feasible for their website. By conducting this On-page SEO audit, we aim to help Olympic Hiking Co increase their website’s search engine visibility and ranking, attract more organic traffic, and improve their online presence and brand reputation.

Please see “Project Images” on the right panel for more in depth details!
 
Key Takeaways
  1. Technical SEO:
  • Checked the website’s page speed using Google PageSpeed Insights and found that it needs improvement.
  • Analyzed the website’s mobile responsiveness using Google’s Mobile-Friendly Test and found that it needs optimization.
  • Checked for crawl errors using Google Search Console and found several 404 errors that need to be fixed.
  • Reviewed the website’s sitemap and robots.txt file and found that they are properly configured.
  1. On-page optimization:
  • Analyzed the website’s content and found that it lacks relevant keywords and phrases that users might search for.
  • Reviewed the website’s metadata and found that it needs optimization to include relevant keywords and phrases.
  • Analyzed the website’s internal linking structure and found that it needs improvement to improve user navigation and search engine visibility.
  • Reviewed the website’s URL structure and found that it needs optimization to include relevant keywords and phrases.
  1. Off-page optimization:
  • Analyzed the website’s backlink profile using tools like Ahrefs and found that it needs improvement to increase the website’s online reputation and authority.
  • Reviewed the website’s social media presence and found that it needs optimization to improve engagement and increase brand awareness.
  1. Keyword research:
  • Conducted keyword research using tools like Google Keyword Planner and found several relevant keywords and phrases that Olympic Hiking Co should target to improve their search engine visibility and attract more organic traffic.
  1. Competitor analysis:
  • Analyzed the website’s competitors using tools like SEMrush and found areas where Olympic Hiking Co can differentiate themselves and gain a competitive advantage, such as offering unique hiking experiences or targeting specific demographics.
  1. Local SEO:
  • Optimized the website for local search by creating and optimizing a Google My Business listing, building local citations, and creating local content that targets relevant keywords and phrases.

 

Based on the findings of the SEO audit, recommendations were provided to Olympic Hiking Co to improve their website’s search engine visibility, attract more organic traffic, and improve their online presence and brand reputation. These recommendations included optimizing the website’s page speed and mobile responsiveness, improving the website’s content and metadata, building high-quality backlinks, and targeting relevant keywords and phrases through local SEO and content optimization.

The post SEO Demonstration – Olympic Hiking Co appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2023/04/10/seo-demonstration-olympic-hiking-co/feed/ 0
Google Ads Case Study- ABC Online University https://kareemehussein.com/2023/04/08/post-5/ https://kareemehussein.com/2023/04/08/post-5/#respond Sat, 08 Apr 2023 02:12:49 +0000 https://kareemehussein.com/?p=191 Google Ads Case Study- ABC Online University

The post Google Ads Case Study- ABC Online University appeared first on Kareem Hussein.

]]>

ABC University Online has been leveraging Google Ads campaigns to attract prospective students to its online degree programs for several years. The objective of this project is to conduct a comprehensive performance analysis of these campaigns—including search ads, display ads, and video ads—to uncover optimization opportunities and recommend strategies for driving higher conversions and enrollment rates.

This analysis will involve a detailed review of ABC University Online’s ad copy, targeting parameters, bidding strategies, and landing pages. We will also benchmark their performance against competitors’ campaigns and assess industry trends to identify areas for strategic growth.

The project will be delivered in stages:

  1. Data Collection and Analysis – Auditing historical performance metrics to identify trends and areas for improvement.
  2. Competitor Research – Evaluating competitors’ strategies to identify gaps and opportunities.
  3. Optimization Recommendations – Providing actionable steps to enhance ad targeting, creative performance, and budget efficiency.

Our team will collaborate closely with ABC University Online to ensure recommendations are aligned with their goals and tailored for their target audience. The strategies presented will focus on delivering measurable ROI and improving the user experience for prospective students.

To view the complete project plan, please refer to the Project Images provided in the slides.

Key Takeways
  • Campaign Audit & Analysis: Reviewed ad copy, targeting settings, bidding strategies, and landing pages to assess current performance.
  • Competitor Insights: Evaluated industry trends and competing campaigns to identify opportunities for differentiation and growth.
  • Practical Recommendations: Delivered data-driven strategies for improving ad copy, refining targeting, and optimizing bidding.
  • Multi-Channel Optimization: Focused on enhancing search, display, and video ads to expand reach and engagement.
  • Landing Page Improvements: Recommended updates to streamline the user experience and increase conversion rates.
  • Targeted Growth Opportunities: Highlighted ways to leverage market trends and outperform competitors in the online education space.
  • The end goal of this project is to empower ABC University Online to achieve its marketing objectives, improve Google Ads performance, increase ROI, and create a seamless, engaging experience for prospective students.

Project Images

The post Google Ads Case Study- ABC Online University appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2023/04/08/post-5/feed/ 0
B2C User Persona – Meyballine https://kareemehussein.com/2023/04/08/post-4/ https://kareemehussein.com/2023/04/08/post-4/#respond Sat, 08 Apr 2023 02:12:27 +0000 https://kareemehussein.com/?p=189 Business to Consumer Persona

The post B2C User Persona – Meyballine appeared first on Kareem Hussein.

]]>

Maybelline is a globally recognized cosmetics brand founded over a century ago by Tom Lyle Williams. It has built its reputation on delivering affordable, high-quality makeup products that celebrate natural beauty and empower self-expression. With a diverse portfolio ranging from lipsticks and eyeshadows to foundations and mascaras, Maybelline continues to cater to various skin types, tones, and preferences.

Renowned for innovation and accessibility, Maybelline remains a leader in the cosmetics industry, inspiring confidence and creativity among women worldwide. Its commitment to quality and relevance has solidified its place as a household name in beauty.

The objective for this user persona project is to strengthen Maybelline’s brand presence among young, fashion-forward women who are deeply engaged in beauty and cosmetics. The focus is to create targeted marketing strategies that resonate with their lifestyles, goals, and purchasing behaviors.

To achieve this, the project will leverage data-driven insights to develop tailored campaigns, focusing on user preferences, social media behaviors, and influencer partnerships. The result will be actionable strategies to enhance Maybelline’s connection with its audience, driving engagement and long-term loyalty.

For more details, please refer to the Project Images included in the right panel, which outline the user persona profiles and marketing strategies in depth.

 
Key Takeaways
  • Audience-Centric Strategies Matter: Marketing campaigns tailored to the specific goals, behaviors, and preferences of Maybelline’s target audience are essential for building stronger connections and driving conversions.
  • Leverage Social Media Platforms: Instagram, Facebook, and YouTube offer opportunities to reach beauty enthusiasts, foster engagement, and build an active online community of fans and followers.
  • Collaborate with Influencers: Partnering with beauty vloggers and fashion bloggers provides authentic and relatable ways to showcase Maybelline’s products, reaching broader and more diverse audiences.
  • Focus on Visual Content: High-quality visuals and videos can highlight product features effectively, capturing the attention of the audience in competitive digital spaces.
  • Data-Driven Insights Drive Growth: Using analytics to refine targeting, optimize ad creative, and track performance ensures measurable impact and ROI.
  • By aligning strategies with audience insights and leveraging influencer partnerships, Maybelline can maintain its leadership in the beauty industry and strengthen its relationship with its customers.

Project Images

The post B2C User Persona – Meyballine appeared first on Kareem Hussein.

]]>
https://kareemehussein.com/2023/04/08/post-4/feed/ 0